(参考Design Pattern GoF和设计模式之禅) 一:目标(用途) 将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 二:使用情况 有两个相互独立的类A和类B, 客户端原本使用类A,现在因为某些原因需要使用类B的接口。为了不破坏原... ...
分类:
其他好文 时间:
2016-06-12 18:24:24
阅读次数:
148
参考
设计模式之禅——里面关于模式的定义基本上都是来自于该书。
单例
一个系统中只有一个实例。
1,可以减少内存开支,实现数据共享。
2,单例为静态的,生命周期与应用一样长 。处理不好,容易造成内存泄漏。
3,单例可扩展为多例:一个系统中只有固定个数的实例。
工厂方法
定义一个用于创建对...
分类:
其他好文 时间:
2016-06-12 03:15:37
阅读次数:
213
6大设计原则 1.单一职责原则(SRP):应该有且仅有一个原因引起类的变更。接口一定要做到单一职责,类的设计尽量做到只有一个原因引起变化。 2.里氏替换原则(LSP):所有引用基类的地方必须能透明地使用其子类的对象。只要父类能出现的地方子类就能够出现,而且替换为子类也不会产生任何错误或异常,但是反过 ...
分类:
其他好文 时间:
2016-06-09 23:35:28
阅读次数:
254
(主要内容来自《设计模式之禅》) 一:定义 定义一个操作中的算法框架,而将一些步骤延迟到子类。使得子类可以不改变一个算法的结构即可以重新定义该算法的 某些特定步骤。 (注:这个模式很简单也很常用,我在认识这个模式以前已经多次使用。) 二:细节 1.基本方法 基本方法也叫做基本操作,是由子类实现的方法 ...
分类:
其他好文 时间:
2016-06-07 12:35:06
阅读次数:
241
一、单一职责原则
单一职责原则的英文名称是single responsibility principle,简称SRP。单一职责原则就是类或接口内功能的单一化,降低之间的耦合度,增强程序的健壮。
书中总结单一职责原则的好处:
类的复杂性降低,实现什么职责都有清晰明确的定义可读性提高,因为复杂性降低可维护性提高,因为可读性提高变更引起的风险降低,变更是必不可少的,如果接口的单一职责做得好...
分类:
其他好文 时间:
2016-05-12 22:40:39
阅读次数:
149
以此回顾学习《设计模式之禅》的责任链模式。
什么是责任链模式?
Avoid coupling the sender of a request to its receiver by giving more than one object a chance to handle the request. Chain the receiving objects and pass the request...
分类:
其他好文 时间:
2016-05-12 18:56:30
阅读次数:
171
学习了这么久的设计模式方面的知识,最大的感触就是,设计模式不能脱离语言特性。近段时间所看的两本书籍,《大话设计模式》里面的代码是C#写的,有一些设计模式实现起来也是采用了C#的语言特性(C#的API,抽象类,在OC中是没有抽象类、没有多继承关系),《设计模式之禅》里面的代码是JAVA写的,与OC差距 ...
分类:
其他好文 时间:
2016-04-16 13:55:43
阅读次数:
252
一:桥梁模式定义 --->桥梁模式(Bridge Pattern)也叫做桥接模式,是一个比较简单的模式 --->将抽象和实现解耦,使得两者可以独立地变化。二:桥梁模式角色● Abstraction——抽象化角色 它的主要职责是定义出该角色的行为,同时保存一个对实现化角色的引用,该角色一般是抽象类。●
分类:
其他好文 时间:
2016-02-01 14:03:49
阅读次数:
108
一:享元模式定义 --->享元模式(Flyweight Pattern)是池技术的重要实现方式 --->使用共享对象可有效地支持大量的细粒度的对象 --->要求细粒度对象,那么不可避免地使得对象数量多且性质相近,那我们就将些对象的信息分为两个部分:内部状态(intrinsic)与外部状态(extri
分类:
其他好文 时间:
2016-01-29 19:56:00
阅读次数:
208
一:状态模式定义 --->当一个对象内在状态改变时允许其改变行为,这个对象看起来像改变了其类 --->状态模式的核心是封装,状态的变更引起了行为的变更,从外部看起来就好像这个对象对应的类发生了改变一样 --->状态模式相对来说比较复杂,它提供了一种对物质运动的另一个观察视角,通过状态变更促使行为的变
分类:
其他好文 时间:
2016-01-28 10:46:28
阅读次数:
274