工厂方法模式(Factory Method),定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使用一个类的实例化延迟到其子类。根据依赖倒转原则,我们把工厂类抽象出一个接口,这个接口只有一个方法,就是创建抽象产品的工厂方法。然后,所有的要生产具体类的工厂,就去实现这个接口,这样,一个.....
分类:
其他好文 时间:
2014-06-20 14:05:50
阅读次数:
205
面向对象的好处:可维护、可扩展、可复用、灵活性好单一职责原则(SRP):就一个类而言,应该仅有一个引起它变化的原因。如果有多于一个动机去改变一个类,则此类就有多于一个职责。(游戏开发中,游戏界面和游戏逻辑相分离,而不是聚合在一起)开放封闭原则(OCP):软件实体(类、模块、函数等)应该是可以扩展,但...
分类:
其他好文 时间:
2014-06-11 11:15:50
阅读次数:
223
有很多设计模式,基本上都是围绕着下面几种原则来设计的。开放封闭原则 依赖倒转原则 里氏代换原则 迪米特原则...
分类:
其他好文 时间:
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
几个设计模式的原则,简单了解了一下单一职责类的功能应该单一,就一个类而言,应该仅有一个引起它变化的原因,否则就要拆分。【大话设计模式】里大鸟和小菜用的DV的摄像功能和手机的摄像功能的比较,DV的功能单一,手机的功能多而复杂,小菜在看到UFO的时候赶紧拿出手机来录像,结果发现录的很不清楚,如果是DV的...
分类:
其他好文 时间:
2014-05-14 12:32:59
阅读次数:
185
摘自《Java与模式》作者阎宏面向对象的可复用设计的第一块基石:开闭原则(一个软件实体应当对扩展开放,对修改关闭)“开-闭”原则的手段和工具:1)里氏代换原则:任何基类出现的地方,子类一定可以出现;2)依赖倒转原则:要依赖于抽象,不要依赖于实现;3)合成\聚合复用原则:要尽量使用合成\聚合,而不是继...
分类:
其他好文 时间:
2014-05-12 11:24:27
阅读次数:
306
依赖于抽象。具体而言就是高层模块不依赖于底层模块,二者都同依赖于抽象;抽象不依赖于具体,具体依赖于抽象。依赖一定会存在于类与类、模块与模块之间。当两个模块之间存在紧密的耦合关系时,最好的方法就是分离接口和实现:在依赖之间定义一个抽象的接口使得高层模块调用接口,而底层模块实现接口的定义,以此来有效控制...
分类:
其他好文 时间:
2014-05-08 17:55:28
阅读次数:
239
??
设计模式学习告一段落,一时间有点儿心乱如麻啊真是——剪不断,理还乱!思考了一阵子,也不知道究竟该如何去总结它,
但人还是要活着的,路还是要走的,硬着头皮往前闯!
仔细想想,在学习23个设计模式中,我们始终都在围绕着一个主线在思考代码的布局,那就是六大原则——开放封闭,单一职责,依赖倒转,里氏代换,迪米特法则和合成聚合复用原则。当然,并不是说...
分类:
其他好文 时间:
2014-05-08 11:15:47
阅读次数:
301