发表于: 2017-10-08 20:26:24

1 751


今天完成的内容:

(1)看Spring MVC时有很多概念不清楚,于是看了开发模式。有Model1、Model2、三层。

 Model1:

使用JSP页面和JavaBean相结合的方式,由JSP页面来接收客户端请求,用JavaBean或其他服务完成业务逻辑、数据库操作和返回页面。这里的JavaBean主要是完成特定功能的Java类。

结构图:

Model1的优点:架构简单,适合小型项目的开发。缺点:JSP任务繁重,需要完成过多事情,不便维护。

Model1虽然在一定程度上解耦了,但JSP依旧即要负责页面控制,又要负责逻辑处理,职责不单一。因此Model2应运而生,使得各个部分各司其职。 Model2基于MVC模式:

Controller:应用程序中用户交互部分(Servlet)

Model:应用程序数据逻辑部分(JavaBeans)

View:数据显示部分(JSP)

结构图:

Model2优点:分工明确,有条理,适合大型项目开发。缺点:分层多,不适合小型项目开发。

三层:

Model2将JSP中的业务逻辑部分分给了Servlet,使得页面控制与逻辑处理彻底分离,达到了部分解耦的目的。但现实项目开发中,往往在Model2的基础上又进行了分层。将业务逻辑细分为业务逻辑和持久化逻辑两层。

往往使用一个Dao接口隐藏持久化操作的细节,业务对象不需要了解底层的数据库持久化知识。使得业务逻辑与持久化逻辑分离,业务逻辑通常关系的是应用程序的核心流程和业务规则,持久化逻辑关注的是如何访问和操作持久化数据。分层主要目的是为了好管理,能更好的适应需求的变换,能够更好的进行人员分工。

表示层,JSP/Servlet

业务逻辑层:业务规则

持久化层:主要包装持久化的逻辑 

表示层、业务逻辑层、持久层是自上而下的依赖,依赖于抽象,如JDBC中,程序对JDBC的依赖就是依赖了他的抽象层,连接数据库用的Connection,我们只能看到其接口,而不能看到其实现,具体的实现封装在JDBC包中。JDBC已经包装好,我们只需要引入不同实现,以适应数据库的变化。

综上,可见在程序开发中,解耦是一个很重要的步骤,这样才能更好的进行抽象。

明天的计划:补基础和做任务。

遇到的问题:概念理解有误。

收获:熟悉了开发框架。

禅道:http://task.ptteng.com/zentao/task-view-10653.html




返回列表 返回列表
评论

    分享到