一.概述
层次式架构为软件系统提供了一种在结构,行为和属性方面的高级抽象,他的核心思想是讲系统组成一种层次结构每一层为上层服务并作为下层的客户.内部的层接口只对相邻层可见,连接件通过决定层间如何交互的协议来定义.由于每一层最多只影响两层,同时只给相邻层提供相同的接口,允许每层用不同的方法实现,为软件重用提供支持.
层次式体系架构也被叫做N层体系架构模式.这也是Java EE经常采用的标准模式.大部分应用会被分成表现层,中间层(业务层)数据访问层(持久层)和数据层.小的应用有时候会将业务层和持久层合在一起.
分层架构的特性是关注分离.
二.表现层设计模式
表现层主要负责接收用户的请求,对用户的输入,输出进行检查和控制,处理客户端的一些动作,包括可控制页面跳转等,并向用户呈现最终的结构信息。表现层设计模式由MVC模式,MVP模式和MVVM模式.
1.MVC模式
MVC模式强制的把一个应用的输入处理输出流程按照视图-控制-模型的方式进行分离,形成了视图,控制器,模型三个核心模块.首先控制器controller接收以用户请求,并决定应该调用哪个模型,然后模型根据请求进行业务逻辑处理,返回数据给控制器,最后控制器调用视图来格式化模型返回的数据,通过视图呈现.
优点
- 允许多种用户的界面扩展,视图和模型没有必然的联系,全靠控制器根据情况调用.当增加新的用户界面时,只改视图和控制器就行,不懂模型.
- 易于维护,控制器和视图根据模型扩展而进行扩展,旧版本也能接着用
- 业务处理和显示分离,增强应用的强壮性和灵活性.
2.MVP模式
MVP(model-view-presenter)模型提供数据,视图提供显示,presenter提供逻辑的处理.与MVC的区别是,MVP不允许view和model直接交流,要通过presenter控制.降低了view和model的耦合,也降低了presenter对view的依赖.