iOS设计模式-抽象工厂
来源:互联网 发布:java script 编辑:程序博客网 时间:2024/06/03 15:50
抽象工厂
抽象工厂:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。
抽象工厂的使用场景
抽象工厂的使用场景与工厂方法的使用场景类似,参照iOS设计模式-工厂方法
抽象工厂在CocoaTouch中的应用
NSNumber实例的方式完全符合抽象工厂模式,具体参照iOS设计模式-工厂方法
抽象工厂方法在Objective-C中的实现
1、创建抽象工厂父类,并提供抽象工厂接口。
//BrandingFactory.h@interface BrandingFactory : NSObject{}+ (BrandingFactory*)factory;- (UIView*)brandedView;//BrandingFactory.m+ (BrandingFactory*)factory{//根据不同条件返回不同的工厂对象#if defined (USE_ACME) return [[AcmeBrandingFactory alloc] init];#elif defined (USE_SIERRA) return [[SierraBrandingFactory alloc] init];#else return nil;#endif}- (UIView*)brandedView{ return nil;}
2、创建各个具体的工厂类重写除工厂方法以外的其他方法(即重写brandedView方法,不需要重写factory方法)
3、调用
BrandingFactory *factory = [BrandingFactory factory];UIView *view = [factory brandedView];
工厂方法与抽象工厂的对比
工厂方法抽象工厂通过类继承创建抽象产品通过对象组合创建抽象产品创建一种产品创建多系列产品子类化创建者并重载工厂方法以及创建新产品必须修改父类的接口才能支持新的产品 1 0
- iOS设计模式-抽象工厂
- ios--设计模式--抽象工厂模式
- iOS设计模式(二) 简单工厂,工厂,抽象工厂
- iOS 设计模式之抽象工厂
- iOS设计模式-抽象工厂
- iOS设计模式浅析之抽象工厂设计模式
- 抽象工厂设计模式
- 设计模式-----抽象工厂
- 抽象工厂设计模式
- 抽象工厂设计模式
- 抽象工厂设计模式
- 设计模式 抽象工厂
- 设计模式--抽象工厂
- 设计模式--抽象工厂
- 设计模式 抽象工厂
- 设计模式-抽象工厂
- 设计模式-> 抽象工厂
- 抽象工厂设计模式
- Coloring Android Apps with Palette(译文)
- system()函数
- Http之Get/Post请求区别
- 关于__block和__weak的详解
- #笔记#圣思园 JavaWeb 第32讲——Servlet多线程同步问题,Cookie
- iOS设计模式-抽象工厂
- 原型模式 - 创建者模式
- 数据结构:树结构笔试题目
- hdu 1548
- Core Data 的使用
- storyboard 和xib的本地化的应用
- svn 和 git的简单使用
- js ==与===区别
- 工作日志2