SOA实践之:在程序层,面向服务的设计准则探讨
在面向OO领域有10几条设计准则,那么这些是否都能够延续到SOA领域的服务接口设计层哪?下面列出本人实践过程中,认为能够继续适用的一些原则:
- SRP 单一职责原则
就一个服务接口而言,应该仅有一个引起它变化的原因。
职责即为”变化的原因”. - ISP 接口隔离原则
不应该强迫客户依赖于他们不用的方法。接口属于客户,不属于他所在的类层次结构。
多个面向特定用户的接口胜于一个通用接口。 - REP 重用发布等价原则
重用的粒度就是发布的粒度. - ADP 无依赖原则
在包的依赖关系中不允许存在环.
细节不应该被依赖. - IDP(Interface Design Principle)接口设计原则
规划一个接口而不是实现一个接口。
-
其它一些可以参考的点:
- 放弃程序级别的OO概念。
- 业务的粒度就是接口方法的粒度。
- 接口方法尽可能简单、清晰、业务含义明确。
在实际应用中,按照这些准则,我总结了一些具体需要需要的点:《SOA实践之:在程序层,服务接口设计的一些准则》【对于这篇文档,会随着实践而不断补充】
1 Trackback(s)