main.m
#import <Foundation/Foundation.h>
#import "Factory.h"
#import "Cookie.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
/// 我们创建的类或者框架中提供的类的名字 都有一个统一的类型Class
//通过字符串 构造 类名 -> 将字符串转为类名
Class class = NSClassFromString(@"Factory");
//警告 没用着class
/**
* 我们有工厂类Factory 生产 饼干类Cookie
工厂模式:利用多态 完成批量更改生产结果的任务
当需要更改生产产品时,只需要更改生产的模型就可以
*/
//创建工厂
Factory *factory = [[Factory alloc]init];
//设置生产模板
factory.modelName = @"Cookies";
//批量生产
Cookie *c1 = [factory createCookie];
Cookie *c2 = [factory createCookie];
Cookie *c3 = [factory createCookie];
Cookie *c4 = [factory createCookie];
Cookie *c5 = [factory createCookie];
NSLog(@"%@",c1);
NSLog(@"%@",c2);
NSLog(@"%@",c3);
NSLog(@"%@",c4);
NSLog(@"%@",c5);
}
return 0;
}
Factory.h
#import <Foundation/Foundation.h>
#import "Ballon.h"
@interface Factory : NSObject
//Factory类要求两个属性: (1)当前生产的颜色 (2)当前要生产的数目
@property (nonatomic,copy) NSString *Bcolor;
@property (nonatomic,assign) NSInteger *Bnumber;
//声明工厂造气球的方法
- (Ballon *)createBallon;
@end
Factory.m
#import "Factory.h"
@implementation Factory
- (Ballon *)createBallon{
Class class = NSStringFromClass(*Bcolor);
}
@end
![屏幕快照 2016-01-16 下午7.27.20.png](http://upload-images.jianshu.io/upload_images/1395501-f2d295bffd9dab17.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
Day.01.16 工厂模式
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 设计模式的目的是让代码易维护、易扩展,不能为了模式而模式,因此一个简单的工具脚本是不需要用到任何模式的。 简单工厂...
- 设计模式的目的是让代码易维护、易扩展,不能为了模式而模式,因此一个简单的工具脚本是不需要用到任何模式的。 简单工厂...
- 回顾: 一、ES6前面向对象周边的知识 1、给一个类的原型上加方法时,要一个一个加,不能用一个JSON整体覆盖,否...