三层架构
什么是模式
模式描述的是具有代表性的重复性问题及其解答方案。
很多问题会以不同的形式反复出现,不同的表现,但可以有相同的处理方式。
模式允许使用者举一反三,将相同的解决方案应用到不同的环境中去。
模式包含的要素:
1、模式名称
2、该模式所能解决的问题
3、解决方案
4、使用该模式后的效果(优点和缺点)
模式的优点
模式从经验中总结出来的,经过证实的方案,模式只有在实际系统中经过多次验证之后才能成为模式。
模式包含一下优点:
1、促进复用,提高系统的重用性。
2、提高系统的可维护性。通过使用模式,在系统面临升级和维护时,将把维护成本控制在最低的水平上。
3、增加表达能力
模式有很强的语言表述性,模式是对解决方案的总结,使得模式能够更好的传达和交流,成为开发成员之间的一种共通语言,从而被更多的开发人员使用,反过来进行模式的发展和应用。
4、帮助我们更好的进行软件设计
模式的分类
架构模式:
架构是指一个软件系统整体的组织结构。
结构模式描述软件系统的组织结构的一些规则和指南。
通过这些规则和指南,我们可以把预定义的、职责明确的子系统有效的组织起来。
设计模式:
设计模式描述的是在软件系统的某一局部不断重现的核心解决方案。
这些解决方案以完善的设计结构出现,可以被应用到以后出现的类似的环境中。
和架构模式相比,设计模式关注的是更为微观的问题
三层架构模式
三层架构模式属于架构模式。将整个业务应用从低到高划分为:表示层、业务逻辑层、数据访问层(持久层)。
数据访问层:完成内存和数据库之间的数据交互。
数据持久层采用DAO模式(Data Access Object).
建立实体类和数据库表进行映射,也就是哪个类对应哪个表,哪个属性对应哪个列(ORM)。
数据持久层的目的,就是完成对象数据和关系数据的转换。
持久接口设计:一个实体类一个持久接口,一次数据库操作一个持久方法,持久方法参数来自业务层。
**业务逻辑层:**完成内存数据的业务处理操作。
业务逻辑采用事务脚本模式。
将一个业务中所有的操作封装成一个方法。(事务)
保证一个业务方法中,所有的数据库更新操作同时成功,或同时失败。不允许出现部分成功,部分失败,这样引起数据混乱的操作。(事务)
业务接口设计:一个实体类一个业务接口,一次提交一个业务方法,业务方法参数来自表示层
**表示层:**完成数据的展示,并提供界面供用户进行数据的录入。
表示层采用MVC模式。
M:模型。也就是实体类,负责数据的封装和数据的传输。
V:视图。也就是GUI窗体和GUI组件,负责提供界面和数据进行数据交互,以及数据的展示
C:控制。也就是事件处理,负责业务流程的控制。
为什么使用三层架构模式
关注点可以从整体变成局部,利于组件的修改、查错、以及替换。