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

Day.01.16 工厂模式
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 设计模式的目的是让代码易维护、易扩展,不能为了模式而模式,因此一个简单的工具脚本是不需要用到任何模式的。 简单工厂...
- 设计模式的目的是让代码易维护、易扩展,不能为了模式而模式,因此一个简单的工具脚本是不需要用到任何模式的。 简单工厂...
- 回顾: 一、ES6前面向对象周边的知识 1、给一个类的原型上加方法时,要一个一个加,不能用一个JSON整体覆盖,否...