组合模式(Composite):将对象组合成树形结构以表示“部分-整体”的组合结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。
透明方式和安全方式
(1),透明方式:在 Component 中声明所有用来管理子对象的方法,其中包括 Add、 Remove 等、这样实现 Component 接口的所有子类都具备了 Add、Remove 方法。这样做的好处是子类对外界来说没有区别,他们...
分类:
编程语言 时间:
2014-08-05 22:32:30
阅读次数:
242
1. 很多时候我们需要保证读写数据的安全性,这时候最好不要使用@synchronized同步块,因为同步块中的代码必须单独执行,这有可能会使当前的代码等许多无关的代码执行完毕才能继续执行,降低程序运行效率。此外还有NSLock ,NSRecursiveLock这些锁,但是这些锁也应该少用,最好的办法...
分类:
其他好文 时间:
2014-08-05 18:47:10
阅读次数:
177
上次看这本书的时候匆匆走了一遍,最近不太忙,重温了一遍,把笔记写出来~..有兴趣的可以去买一本,感觉这本书还是挺不错的由于大部分是在坐车的时候用手机写的,所以代码很少,图也很少1. 尽量使用向前声明,延后引入头文件的时间,这样可以减少编译时间2. 使用arraywithobjects:....如果遇...
分类:
其他好文 时间:
2014-08-05 13:33:59
阅读次数:
516
Item 13:Use objects to manage resources
假设我们使用一个用来塑膜投资行为的程序库,其中各式各样的投资类型继承自一个root class:
class Investment { ... }; //“投资类型”继承体系中的root class
进一步假设,这个程序系通过一个工厂函数(工厂函数会“返回一个base class指针,指向新生成...
分类:
编程语言 时间:
2014-08-04 18:06:17
阅读次数:
212
适配器模式(Adapter):将一个类的接口转换为客户希望的另一个接口。Adapter 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
(1),系统的数据和行为都正确,但接口不符时,我们应该考虑适配器模式,目的是使控制范围之外的一个原有对象与某个接口匹配。适配器模式主要应用于希望复用一些现存的类,但是接口又与复用环境要求不一致的情况。
(2),使用一个已经存在的类,但如...
分类:
编程语言 时间:
2014-08-01 23:14:02
阅读次数:
228
状态模式(State):当一个对象内在状态改变时,允许改变其行为,这个对象看起来像是改变了其类。
(1),状态模式主要负责解决的是当控制一个对象转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类中,可以把复杂的判断逻辑简化。
(2),状态模式的好处是将与特定状态相关的行为局部化,并且将不同状态的行为分割开来。
(3),将特定的状态相关的行为都放入一个对象中...
分类:
编程语言 时间:
2014-07-31 23:58:20
阅读次数:
556
抽象工厂模式(Abstract Factory):提供一个创建一系列相关或者相互依赖对象的接口,而无需制定他们具体的类。
(1),工厂方法模式是定义一个用于创建对象的接口,让子类决定实例化哪一个类。
(2),为创建不同的产品对象,客户端应使用不同的具体工厂。
抽象工厂模式的优点和缺点:
(1),好处是便于交换产品系列,由于具体工厂类在一个应用中只需要在初始化的时候出现一次,这就使得...
分类:
编程语言 时间:
2014-07-31 00:05:55
阅读次数:
222
网上一位大神的经验之谈【语言经典书】C:C程序设计语言(K&R)C和指针C专家编程C陷阱与缺陷你必须知道的495个C语言问题C++: C++ primer effective C++深度探索C++对象模型stl源码分析C++必知必会java:java编程思想java并发编程深入理解Java虚拟机:J...
分类:
其他好文 时间:
2014-07-30 20:25:24
阅读次数:
199
Providingastaticmethodinsteadofapublicconstructorhasbothadvantagesanddisadvantages.Oneadvantageofstaticfactorymethodsisthat,unlikeconstructors,theyhavenames.ASecondadvantageofstaticfactorymethodsisthat,unlikeconstructors,theyarenotrequiretocreateanewobjecte..
分类:
编程语言 时间:
2014-07-30 17:54:24
阅读次数:
215