- 博客(3)
- 收藏
- 关注
原创 接口隔离原则(ISP - Interface Segregation Principle)
某些类的接口,可以分解成多组方法,每组方法都服务于不同的客户。当客户使用这个类时,那么将会导入他们从来不会使用的接口。如果其他客户需要修改这个类时,也将影响到其他无关的客户。我们应该避免这种耦合。方法:1、使用委托分离接口。2、使用多重继承(实现)。
2016-11-04 11:41:45 295
原创 依赖倒置原则(DIP - Dependency Inversion Principle)
a、高层模块不应该依赖于底层模块。它们2者应该都依赖于抽象。b、抽象不应该依赖于细节。细节依赖于抽象。许多传统的软件设计方法,比如结构化分析设计,倾向于设计出高层模块依赖于低层模块、策略依赖于细节的软件结构。对于这种结构,如果低层细节变化,那么上层策略也要跟着变化。明显是不合理的,本应该是高层的策略影响低层的细节实现。如果高层模块都为它需要的服务,声明一
2016-11-04 10:12:52 401
原创 替换原则(LSP - Liskov Substitution Principle)
如何设计最佳的继承层次? 怎样避免类层次结构不符合OCP ?答案就是替换原则(LSP): 子类型必须能够替换调它们的基类型。代码违反LSP原则的明显特征: 使用if 或 if/else 去确定一个对象的类型,从而选择执行对应的行为。更微妙的违规: 正方形(Square)和矩形(Rectangle)的例子。让正方形继承矩形,并重写矩形的setWidth(width=
2016-11-01 09:24:33 1345
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人