电子知识软件架构(4)1
分层架构:分层架构是使用最多的架构模式,通过分层使各个层的职责更加明确,通过定义的接口使各层之间通讯,上层使用下层提供的服务
分层分为:严格意义上的分层,一般意义的分层
严格意义的分层是 n+1 层使用 n 层的服务
而一般意义的分层是上层能够使用它下边所有层的服务
领域驱动设计的分层定义:UI 层,UI 控制层,服务层,领域层,基础设施层
MVC 架构:MVC 架构相信做软件的都听说,主要是为了让软件的各部分松耦合,现在好多根据 MVC 思想构建的框架如:SpringMVC,Structs2,ASP
NetMVC 等
MVC是 ModelViewControl 的简写,他的原理是什么那,比方拿web 来举例吧
当一个 web 请求来了以后 View 接收这个请求,随即把请求转发给 Control 进行处理,Control 通过分析请求的类型等信息决定加载哪些 Model,当 Model 加载完成以后Control 通 知 Model 已 经 加 载 完 毕 , 这 是 View 就 去 读 取Model 数据进行显示自己
MVC 还有一个衍生架构叫 MVP,因为 MVC 的 View 跟 Control 和 Model 都有耦合关系所以为了解除 View 和 Model 之间的关系,View 不直接读取 Model 而是通过 Control 来转发 View 需要的数据
还有一个衍生架构叫MVVP 就是增加了一个 ViewControl 的层,用来辅助视图的生成,这样 View 的功能更加简单只是用来显示不包含其它的功能,而且有了 ViewControl 使多视图或替换视图很方便
MVP 微软的 WPF 就是使用这种架构
微内核架构:微内核架构就是做一个稳定通用的内核,也就是给软件设计一个强劲的心脏
如果需要更多功能通过在内核外部再封装一