java项目——Model1与Model2以及经典三层模型比较

        个人觉得Model1和Model是java架构的最基本的。在这两种模式的基础上,我们可以继续解耦,找到适合我们个人开发的架构。

Model1模型

        Model1模型是以jsp为核心的开发模型,采用jsp+javaBeen的模式。下面看一下时序图:

       

java项目——Model1与Model2以及经典三层模型比较_第1张图片

            jsp中除了页面渲染,还需要调用业务逻辑,jsp的职责比较重,当然jsp中也可以放业务逻辑。

        优点:需要建立的类比较少,小型项目开发比较快

        缺点:jsp做的事情比较多,职责过重,不便于维护,该页面风格时代码不好修改,jsp的调试不如java调试方便,本图做的还是比较好,将业务逻辑单独拿出来。sun提出

jsp是为了显示的,而不是让其放业务逻辑的。

 

Model2

        Model2模型就是MVC模型,如下图:

 

java项目——Model1与Model2以及经典三层模型比较_第2张图片

 

            参数的获取,业务逻辑的调用,转到某个页面都交给servlet来管理,jsp只做显示。servlet就是控制,取代了jsp的一些职责,可以将一些逻辑放到servlet中。这样,解耦了显示与业务逻辑之间的关系,易于升级和维护。

 

经典三层

        在上面MVC的基础上再加上一层持久层,就构成我们经典的三层。如下时序图:

     java项目——Model1与Model2以及经典三层模型比较_第3张图片

        
    下层是为上层服务的,下边的改变不能影响上边(抽象,接口可以实现。在mvc的基础上对业务逻辑进一步进行了分离,不想让持久层的变化影响到业务逻辑。每一层

之间单项依赖,不能出现双向依赖。持久化的东西,关机开机后还是存在,放在了IO中。

 

个人总结

      分层的目的是为了解耦,提高模块的独立性,每个开发人员各司其职,便于日后的升级和维护。 

你可能感兴趣的:(架构,三层,model1,model2)