GOF23种设计模式设计原则:1. 单一职责原则(SRP):就一个类而言,应该仅有一个引起它变化的原因2. 开放-封闭原则(OCP):软件实体(类、模块、函数等)应该可以扩展,但是不可修改。即对于扩展是开放的, 对于修改是封闭的。3. 依赖倒转原则: A. 高层模块不应该依赖低层模块,两个都应该依赖...
分类:
移动开发 时间:
2014-07-07 09:00:55
阅读次数:
191
设计模式01Table of Contents1 设计模式1.1 基本原则1.2 开-闭原则1.2.1 与其他原则关系1 设计模式1.1 基本原则系统的可扩展性由开-闭原则、里氏代换原则、依赖倒转原则、组合/聚合复用原则保证;系 统的灵活性由开-闭原则、迪米特原则、接口隔离原则保证;系统的可插入性由...
分类:
其他好文 时间:
2014-07-06 21:14:58
阅读次数:
198
工厂方法模式(Factory Method),定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使用一个类的实例化延迟到其子类。根据依赖倒转原则,我们把工厂类抽象出一个接口,这个接口只有一个方法,就是创建抽象产品的工厂方法。然后,所有的要生产具体类的工厂,就去实现这个接口,这样,一个.....
分类:
其他好文 时间:
2014-06-20 14:05:50
阅读次数:
205
有很多设计模式,基本上都是围绕着下面几种原则来设计的。开放封闭原则 依赖倒转原则 里氏代换原则 迪米特原则...
分类:
其他好文 时间:
2014-06-02 22:36:57
阅读次数:
229
1.概念DIP:Dependency Inversion
Principle抽象不应当依赖于细节,细节应当依赖于抽象(说通俗点也就是要针对接口编程,不要针对实现编程;或者要依赖于抽象,不要依赖于具体)。2.为何叫“依赖倒转”?
传统的过程性系统的设计办法倾向于使高层次的模块依赖于低层次的模块;抽象层...
分类:
其他好文 时间:
2014-05-26 01:30:06
阅读次数:
232
抽象不应该依赖谢姐,细节应该依赖于抽象:针对接口编程,不要对实现编程。例如电脑内的内存坏了不会影响到其它模块,而且什么品牌都可以插入内存插槽,而不仅限于某个品牌的内存条。A。高层模块不应该依赖底层模块,两个都应该依赖抽象。B。抽象不应该依赖细节,细节应该依赖抽象。里氏代换原则(LSP):子类型必须能...
分类:
其他好文 时间:
2014-05-17 21:34:49
阅读次数:
299
观察者模式是对依赖倒转原则很好的应用。单纯去看依赖倒转原则,我并不明白。什么“抽象不能依赖细节,细节要依赖抽象的”。看完观察者模式后,我觉得这一原则还是很经典,很实用的。
下面就利用《大话设计模式》中,举的前台和看股票的观察者模式的例子,来说一下我对这一原则的理解。
没有用观察者模式时:
具体的通知者(Secretary)和具体的观察者(StockObserver)二...
分类:
其他好文 时间:
2014-05-15 18:36:15
阅读次数:
249
摘自《Java与模式》作者阎宏面向对象的可复用设计的第一块基石:开闭原则(一个软件实体应当对扩展开放,对修改关闭)“开-闭”原则的手段和工具:1)里氏代换原则:任何基类出现的地方,子类一定可以出现;2)依赖倒转原则:要依赖于抽象,不要依赖于实现;3)合成\聚合复用原则:要尽量使用合成\聚合,而不是继...
分类:
其他好文 时间:
2014-05-12 11:24:27
阅读次数:
306
依赖于抽象。具体而言就是高层模块不依赖于底层模块,二者都同依赖于抽象;抽象不依赖于具体,具体依赖于抽象。依赖一定会存在于类与类、模块与模块之间。当两个模块之间存在紧密的耦合关系时,最好的方法就是分离接口和实现:在依赖之间定义一个抽象的接口使得高层模块调用接口,而底层模块实现接口的定义,以此来有效控制...
分类:
其他好文 时间:
2014-05-08 17:55:28
阅读次数:
239