设计模式
设计模式:
1责任链模式
2桥接模式
3适配器模式
4单例模式
5命令模式
六大设计原则单一职责原则: 一个类只负责一件事
开闭原则 : 对修改关闭、对扩展开放
接口隔离原则: 使用多个专门的协议、而不是一个庞大臃肿的协议
协议中的方法应当尽量少
依赖倒置原则: 抽象不应该依赖于具体实现,具体实现可以依赖于抽象
(比如增删改查只依赖于接口定义,内部的sql、plist等方式不关注)
里氏替换原则: 父类可以被子类无缝替换,且原油功能不受任何影响
迪米特法则 :一个对象应当对其他对象尽可能少的了解(高内聚、低耦合)
责任链模式
桥接模式
场景如下,同个VC中使用不同的网络数据,并可以做多种处理简单介绍下桥接模式?
适配器模式
一个现有类需要适应变化的问题?
·对象适配器
·类适配器
不修改原有类的方法拓展其功能。
单例模式
+ (id)sharedInstance
{
// 静态局部变量
staticMooc*instance =nil;
// 通过dispatch_once方式 确保instance在多线程环境下只被创建一次
staticdispatch_once_tonceToken;
dispatch_once(&onceToken, ^{
// 创建实例
instance = [[superallocWithZone:NULL]init];
});
returninstance;
}
// 重写方法【必不可少】防止对外界对象直接alloc生成
+ (id)allocWithZone:(struct_NSZone*)zone{
return [self sharedInstance];
}
// 重写方法【必不可少】防止对外界对象copy生成
- (id)copyWithZone:(nullableNSZone*)zone{
return self;
}
命令模式
对行为进行参数化的设计模式(微博转发、评论、赞)
作用:降低代码重合度