|
组件提供了一种将功能划分的方式,可以分开安装和部署。 泠云工作室
组件设计的常用原则 泠云工作室
在设计组件的时候,可以参考下面的原则: 内容来自泠云天天在线
- 对于组件中的类,应该遵守S.O.L.I.D的类设计原则。这方面大家可以参考:面向对象设计的SOLID原则。简单的说,S.O.L.I.D原则就是:
- Single responsibility principal:单一职责原则,一个类应该只有一个职责。
- Open/Closed principal:开放封闭原则,类应该支持扩展,而不是去修改它。
- Liskov substitution principal:里氏替换原则,子类应该可以被基类替换。
- Interface segregation principal:接口分离原则,不同的客户端,不同的需求,应该暴露不同的接口。
- Dependency inversion principal:依赖倒置原则,对类的依赖应该被抽象代替,抽象不应该依赖细节,细节应该依赖于抽象。
- 设计的组件应该是高内聚的。不要添加无关的的功能,或者是混合其他的功能,使得类的负担过重。例如:在业务组件中要避免将数据访问和业务逻辑混合在一起。只有当功能内聚,你创建的程序集就可以包含多个组件,就可以将组件安装在适当的应用层中,甚至是部署在独立的物理层。
- 一个组件不应该依赖于其他组件的内部实现。每个组件和对象应该调用另外一个对象和组件的方法,方法包括如何处理请求,如果需要的话,应该会路由到适当的子组件或者是其他组件。
- 理解组件之间是如何通信的。你一定要考虑通信是否跨越物理边界,还是跨越进程边界,还是所有的组件都运行在同一个进程。
- 保持跨层关注的代码从应用逻辑中抽象出来。跨曾关注的代码,例如:安全,通信,操作管理,日志和性能仪表盘。将这些代码混合在组件中,会导致系统难以维护和扩展。
- 应用组件为基础的架构风格的关键原则。包括可重用性,可替代性,扩展性,封装性,独立性,不和特定上下文相关。
分层组件分布 copyright lyttzx.com
应用的每一层都有很多实现本层功能的组件。这些组件应该是内聚的,松散耦合的,简化重用性和维护性。下图显示了每一层的组件类型。 本文来自泠云天天在线
泠云工作室
本文来自泠云天天在线
lyttzx.com
表现层组件 lyttzx.com
表现层组件实现的功能需要允许用户和应用进行交互。在设计的时候可以参考下面的原则: lyttzx.com
服务层组件 lyttzx.com
你的应用可能暴露出服务层,供客户端或者是其他系统交互。服务层提供客户端和其他系统一种访问业务逻辑层的方式,通过消息使用系统的功能,通常包括下面的内容: copyright lyttzx.com
业务层组件 内容来自泠云天天在线
业务逻辑层组件实现了系统的核心功能,封装了业务逻辑。通常包括下面类型的组件: copyright lyttzx.com
数据访问层组件 泠云工作室
数据访问层组件提供了数据访问,向其他网络系统暴露数据,通常包括下面的部分: 内容来自泠云天天在线
跨层关注的组件 泠云工作室
很多功能需要在很多层实现。例如: 内容来自泠云天天在线
相关的设计模式 本文来自泠云天天在线
内容来自泠云天天在线
copyright lyttzx.com
| 分类 |
相关模式 |
| Business Component |
- Application Facade
- Chain of Responsibility
- Command
|
| Business Entity |
- Domain Model
- Entity Translator
- Table Model
|
| Presentation Entity |
|
| Presentation Logic |
- Application Controller
- Model-View-Controller
- Model-View-ViewModel
- Model-View-Presenter
- Passive View
- Presentation Model
- Supervising Presenter
|
| Service Interface |
- Facade
- Remote Facade
- Service Interface
|
| Workflow |
- Data-Driven Workflow
- Human workflow
- Sequential workflow
- State-Driven workflow
|
lyttzx.com
泠云工作室
未完待续。。。。。。。。。。。。。。。。。。。。。。。。 lyttzx.com (责任编辑:泠云) |