Day.01.16 工廠模式

main.m
#import <Foundation/Foundation.h>
#import "Factory.h"
#import "Cookie.h"

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
 /// 我們創(chuàng)建的類或者框架中提供的類的名字 都有一個(gè)統(tǒng)一的類型Class
        
        //通過字符串 構(gòu)造 類名 -> 將字符串轉(zhuǎn)為類名
        Class class = NSClassFromString(@"Factory");
          //警告  沒用著class
        /**
         *  我們有工廠類Factory 生產(chǎn) 餅干類Cookie
         
            工廠模式:利用多態(tài) 完成批量更改生產(chǎn)結(jié)果的任務(wù) 
            
            當(dāng)需要更改生產(chǎn)產(chǎn)品時(shí),只需要更改生產(chǎn)的模型就可以
         */
        
        //創(chuàng)建工廠
        Factory *factory = [[Factory alloc]init];
        
        //設(shè)置生產(chǎn)模板
        factory.modelName = @"Cookies";
        
        //批量生產(chǎn)
        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類要求兩個(gè)屬性: (1)當(dāng)前生產(chǎn)的顏色 (2)當(dāng)前要生產(chǎn)的數(shù)目

@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)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容