【设计模式】
键盘上的钢琴师_v5
厚积而薄发,谋定而后动
展开
-
工厂模式及SDK源码中的运用
定义一个用于创建对象的接口,让子类决定实例化哪一个类。FactoryMethod使一个类的实例化延迟到其子类。 适用性 1.当一个类不知道它所必须创建的对象的类的时候。 2.当一个类希望由它的子类来指定它所创建的对象的时候。3.当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候。 参与者 1.Produ原创 2015-10-09 17:05:33 · 880 阅读 · 0 评论 -
单例模式及SDK源码中的运用
保证一个类仅有一个实例,并提供一个访问它的全局访问点。 适用性 1.当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时。 2.当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时。 参与者 Singleton 定义一个Instance操作,允许客户访问它的唯一实例。Instance是一个类原创 2015-10-09 16:46:38 · 753 阅读 · 0 评论 -
适配器模式及SDK源码中的运用(附:分别面向接口、类、对象的适配器扩展)
将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 适用性 1.你想使用一个已经存在的类,而它的接口不符合你的需求。 2.你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。 3.(仅适用于对象Adapter)你想使用一些已经存在的子类,原创 2015-10-10 14:55:47 · 627 阅读 · 0 评论 -
观察者模式
定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 适用性 1.当一个抽象模型有两个方面,其中一个方面依赖于另一方面。 将这二者封装在独立的对象中以使它们可以各自独立地改变和复用。 2.当对一个对象的改变需要同时改变其它对象,而不知道具体有多少对象有待改变。 3.当一个对象必须通知其它对象,而它又原创 2015-10-13 13:23:52 · 530 阅读 · 0 评论 -
设计模式的使用原则和常用设计模式的说明
声明:部分内容属于摘录,其余多是个人总结,仅供学习参考。设计模式的六大原则:1、单一职责原则(Single Responsibility Principle)定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2原创 2015-10-09 14:46:09 · 594 阅读 · 0 评论