1,单例模式
static Myclass* myclass = nil;
+(Myclass *)getInstance
{
@synchronized(self)
{ if(myClass == nil){
myClass = [ [self alloc] init];
}
return myClass;
}
2,代理模式delegate
*.h定义
@protocol MyDelegate;//前向申明
@interface MyClass:NSObject
{
id<MyDelegate> delegate;
}
@property(weak, nonatomic) id<MyDelegate> delegate;
@end
@protocol MyDelegate
- (void)didJobs:(NSArray *)args;
@end
*.m调用
if (_delegate!= nil&& [_delegate responseToSelector@()]){
_delegate didJobs:args
}
3,抽象工程与工厂方法的比较
抽象工厂 工厂方法
通过对象组合创建产品 通过类继承创建抽象产品
创建多系列产品 创建一种产品
必须修改父类的接口才能支持新的产品 子类化创建者并重载工厂方法以创建新产品
static Myclass* myclass = nil;
+(Myclass *)getInstance
{
@synchronized(self)
{ if(myClass == nil){
myClass = [ [self alloc] init];
}
return myClass;
}
2,代理模式delegate
*.h定义
@protocol MyDelegate;//前向申明
@interface MyClass:NSObject
{
id<MyDelegate> delegate;
}
@property(weak, nonatomic) id<MyDelegate> delegate;
@end
@protocol MyDelegate
- (void)didJobs:(NSArray *)args;
@end
*.m调用
if (_delegate!= nil&& [_delegate responseToSelector@()]){
_delegate didJobs:args
}
3,抽象工程与工厂方法的比较
抽象工厂 工厂方法
通过对象组合创建产品 通过类继承创建抽象产品
创建多系列产品 创建一种产品
必须修改父类的接口才能支持新的产品 子类化创建者并重载工厂方法以创建新产品