软件分层的原因
面向对象原理中,有多态,继承等相关概念。为了提高程序的“高内聚、低耦合”。也为了更容易扩展,容易维护,同时适应程序的延展性能,开始产生了分层的概念。
现有常见设计模式
- 普通三层架构
User Interface 表示层
与用户展示界面交互,提供数据内容
Business Logic Layer,数据层
用于给表示层提供数据内容,对数据运算和操作,同时也负责响应表示层的事件。
Data Access Layer 数据访问层
直接操作数据库,针对数据的增添、删除、修改、查找等。
- MVC
模型(Model):就是封装数据和所有基于对这些数据的操作。
视图(View):就是封装的是对数据显示,即用户界面。
控制器(Control):就是封装外界作用于模型的操作和对数据流向的控制等。
使用工作方法构建我们自己的应用框架
这将会是一个新颖的设计架构模式,在整体上运算和逻辑上拆分,每个运算模块只负责相应的数据。分成三个逻辑运算,读取,运算,输出。这个优势在于每个模块只做一部分功能,不会影响其他功能,以提高代码复用率,降低耦合度;更加有利于扩展调配。例如我们可以派生多个子类运算,子类运算可配置为并发或顺序运行。
工厂方法接口
输入
/// <summary> /// 用户读取配置和数据库文件等 /// </summary> public class Input { public event Action OnReadFinished; public virtual void ReadConfig() { if (OnReadFinished != null) OnReadFinished(); } }