解析开发模型

来源:互联网 发布:php urlencode 空格 编辑:程序博客网 时间:2024/05/17 03:34

1.Model1

优点:架构简单,比较适合小型项目开发
缺点:jsp的职责不单一,职责过重,不便于维护

2.Model2

Model2,其实就是MVC的应用:

(1)C(Controller),控制器(见下图中的Servlet层),主要职责:
        1.取得表单参数
        2.调用业务逻辑
        3.转向页面

(2)M(Model),模型(见下图中的业务逻辑层),主要职责:
        1.业务逻辑
        2.保存数据的状态

(3)V(View),视图(见下图中的JSP层),主要职责:
        1.显示

优点:职责清楚,较适合大型项目架构
缺点:不适合小型项目开发(主要是层分的太多)

Model2在Model1的基础上分离了控制,分层主要为了好管理,能更好的适应需求的变化,能够更好地进行人员分工。

3.三层架构

下图为非常典型的三层架构:
表示层:JSP/Servlet
业务逻辑层:业务规则
持久化层:主要包装持久化逻辑

为什么抽取持久化层?
主要是为了持久层的改变不影响业务逻辑层,主要还是为了划分职责。

4.层与层之间的依赖

表示层、业务逻辑层、持久层是:

(1)自上而下的依赖

(2)单向依赖

(3)依赖于抽象,不依赖于具体,依赖于接口,不依赖于实现。

        三层之间最好依赖于抽象,每一层都建立出一个抽象,如:我们的程序对JDBC的依赖,就是依赖了它的抽象层,我们和JDBC是单向依赖,我们只调用JDBC,JDBC实现不会调用我们的程序。如果JDBC实现调用了我们,那么此JDBC实现将和我们的程序有严重的依赖,无法扩展了。

原创粉丝点击