电子知识软件架构(4)1.分层架构:分层架构是使用最多的架构模式,通过分层使各个层的职责更加明确,通过定义的接口使各层之间通讯,上层使用下层提供的服务。分层分为:严格意义上的分层,一般意义的分层。严格意义的分层是 n+1 层使用 n 层的服务。而一般意义的分层是上层能够使用它下边所有层的服务。领域驱动设计的分层定义:UI 层,UI 控制层,服务层,领域层,基础设施层。2.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 就是使用这种架构。3.微内核架构:微内核架构就是做一个稳定通用的内核,也就是给软件设计一个强劲的心脏。如果需要更多功能通过在内核外部再封装一层对软件进行扩充,微内核提供基本的接口供外部调用,这些接口一定要通用,并且提供事件的机制告诉外部内部发生的事件,这样就是内核与外部完全隔离。微软操作系统就是按照微内核设计的。我之前做了一个 Gis 组件当初思想也是这个样子的,但是当初不知道还有微内核架构,有了对微内核的深入理解会进一步完善那个 Gis 组件。4.元模型架构:元模型架构就是有元数据支撑的架构,现在使用的也很广泛,比方:ORM,.Net 类的设计等都是元数据支持的。元数据有自我描述性比方 ORM 会描述类对应数据库中的表属性对应数据库里的字段,还有 IOC 类中的引用需要注入哪个类等等都会通过元数据的形式实现。IOC 框架通过解析元数据信息使注入和被注入类只通过接口依赖,...