Day.01.16 工厂模式

main.m
#import 
#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 

#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 工厂模式)