欢迎转载,转载请注明出处
本文地址:http://blog.csdn.net/zhenggaoxing/article/details/42964011
代理模式
官方定义:(百度百科)
即Proxy Pattern,23种常用的面向对象软件的 设计模式之一。(设计模式的说法源自《设计模式》一书,原名《Design Patterns: Elements of Reusable Object-Oriented Software》。1995年出版,出版社:Addison Wesly Longman.Inc。该书提出了23种基本设计模式,第一次将设计模式提升到理论高度,并将之规范化。)
类图:
我们的故事:(老板招工模型)
老板开了一家软件公司,公司主营IOS开发业务,老板需要招聘一位程序员来开发IOS程序,于是他再XX招聘上发布了如下招工广告:
然后就有符合条件的人来面试,面试通过以后就可以给老板开发应用了。
这就是我们的老板招工模型:
老板:老板干一件事情就可以了: 招工(符合要求)
工作:工作要求
员工:员工比较苦逼要干三件事:1应聘 2 实现工作要求 3 干活
最后总结一下:代理模式的思想就是,你的活,交给别人干。实现模型就是老板招工
代码实现(Objective-C)
老板:招一个符合要求<协议>的工
#import <Foundation/Foundation.h> #import "Protol.h" @interface Boss : NSObject @property (nonatomic,retain) id<management>delegate; -(void)daiyu;
工作:就是协议
@protocol management<NSObject> -(void)desire; @end
员工:1 应聘 2 符合工作要求 3 干活zhuang.delegate=[[Staff alloc]init];//应聘
@interface Staff : NSObject<management>// 符合要求 @end
-(void)desire//干活 { NSLog(@"加油"); }
源代码 :
https://git.oschina.net/zhengaoxing/mode-Laobanzhaogong