随笔分类 -  设计模式

摘要:4.如果你能够想到多余一个的动静去改变一个类,那么这个类就具有多于一个的职责 阅读全文
posted @ 2016-03-18 21:45 徒步天涯 阅读(371) 评论(0) 推荐(0)
摘要:为子系统中的一组接口提供了一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用 这要分三个阶段来说,首先,在设计初期阶段,应该要有意识的将不同的两个层分离,比如经典的三层架构,就需要考虑在数据访问层和业务逻辑层,业务逻辑层和表示层的层与层之间建立外观Facada,这样可以为复 阅读全文
posted @ 2016-03-13 19:36 徒步天涯 阅读(324) 评论(0) 推荐(0)
摘要:模板方法模式:定义了一个操作中算法的骨架,而降一些步骤延迟到子类中。模板方法使子类可以从定义算法的某些特定步骤而不是改变算法的结构 1.需要一次性实现算法的不变的部分,并将可变的行为留给子类来实现 2.子类的共同行为应该被提取出来放到公共类中,以避免代码重复。现有代码的差别应该被分离为新的操作,然后 阅读全文
posted @ 2016-03-06 21:48 徒步天涯 阅读(339) 评论(0) 推荐(0)
摘要:原型模式 何为原型模式 使用原型模式实例创建对象的种类,并通过复制这个原型创建新的对象 客户端知道抽象Prototype类,在运行时,抽象Prototype子类的任何对象都可以案客户端的意愿被复制,因此,无需手工创建就可以制造同一类的多个实例。 何时使用原型模式 需要创建的对象应独立于其类型与创建方 阅读全文
posted @ 2016-03-06 20:34 徒步天涯 阅读(238) 评论(0) 推荐(0)
摘要:工厂方法模式: 定义: 工厂方法模式,定义了一个用于创建对象的接口,让子类决定实例化那个类。工厂方法使一个类的实例化延迟到其子类 简单的工厂模式: 其结构图为: 我们就举个计算器的例子 首先要有个计算类 Calc.h文件 #import <Cocoa/Cocoa.h> @interface Calc 阅读全文
posted @ 2016-03-05 20:22 徒步天涯 阅读(395) 评论(0) 推荐(0)
摘要://主函数 main.m #import <Foundation/Foundation.h> #import "Singleton.h" int main(int argc, const char * argv[]) { @autoreleasepool { Singleton *sing1= [S 阅读全文
posted @ 2016-03-04 23:29 徒步天涯 阅读(322) 评论(0) 推荐(0)
摘要:转发:http://www.cnblogs.com/java-my-life/archive/2012/04/20/2455726.html 装饰模式的结构 装饰模式以对客户透明的方式动态地给一个对象附加上更多的责任。换言之,客户端并不会觉得对象在装饰前和装饰后有什么不同。装饰模式可以在不使用创造更 阅读全文
posted @ 2016-03-03 19:17 徒步天涯 阅读(587) 评论(0) 推荐(0)
摘要:第二章:商场促销——策略模式 策略模式的定义: 策略模式是一种定义一系列算法的方法,从概念上来看,所有这些算法完成的都是相同的工作,知识实现不同,他可以以相同的方式调用所有的算法,减少了各类算法类与使用算法类之间的耦合 策略模式的优点 : 1. 策略模式的Strategy 类层次为Context定义 阅读全文
posted @ 2016-03-01 18:46 徒步天涯 阅读(452) 评论(0) 推荐(0)
摘要:第一章:代码无错就是优-简单的工厂模式 先建立一个计算类Operation Operation.h文件 @interface Operation : NSObject @property(nonatomic,assign)double numberA; @property(nonatomic,ass 阅读全文
posted @ 2016-03-01 11:32 徒步天涯 阅读(309) 评论(0) 推荐(0)