Day.01.16 工厂模式

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)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容