iOS的设计模式分析
背景: 最近正在考虑换工作,恰好中间有空档期,就来深入学习一下 iOS 的设计模式,虽然都老生常谈了,但是这方面确实是自己的学习盲区,遂抽空来继续深入研究一下吧
文章目录
1 对象创建
1.1原型(Prototype)
1.2工厂方法(Factory Method)
1.3抽象工厂(Abstract Factory)
1.4生成器(Builder)
1.5单例(Singleton)
2 接口适配
2.1 适配器(Adapter)
2.2 桥接(Bridge)
2.3 外观(Facade)
3 对象去耦
3.1 中介者(Mediator)
3.2 观察者(Observer)
4 抽象集合
4.1 组合(Composite)
4.2 迭代器(Iterator)
5 行为扩展
5.1 访问者(Visitor)
5.2 装饰(Decorator)
5.3 责任链(Chain of Responsibility)
6 算法封装
6.1 模板方法(Template Method)
6.2 策略(Strategy)
6.3 命令(Command)
7 性能与对象访问
7.1 享元(Flyweight)
7.2 代理(Proxy)
8 对象状态
8.1 备忘录(Memento)
1 对象创建
1.1 原型(Prototype)
定义:使用原型实例指定创建对象的种类,并通过复制这个原型创建新的对象。
NSArray *array = [[NSArray alloc] initWithObjects:@1, nil];
array 就是原型了,array2 以 array 为原型,通过 copy 操作创建了 array2。
当创建的实例非常复杂且耗时,或者新实例和已存在的实例值相同,使用原型模式去复制已经存在的实例效率更高。
1.2 工厂方法(Factory Method)
定义: 创建对象的接口,让子类决定实例化哪一个类。工厂方法使得类的实例化延迟到其子类。
工厂方法的最初定义好像是专注于让子类决定创建什么对象,有一种变体,抽象类使用工厂方法创建其私有子类或任何其他类的对象,
image.png
如上图,+ create():Product 就是工厂方法,ConcreatFactoryA 与 ConcreateFactoryB 就是两个工厂类,ConcreateProductA 与 ConcreateProductB 就是两个工厂类对应的产品类,通过不同的工厂生产不同类型的产品,且两个产品类最终返回的是他们的父类 Product,隐藏了对象的具体类型。工厂方法模式让创建的对象拥有一组共同的接口,使我们无需关心做了不同类型接口的具体实现,只需要调用 Product 的接口就行。
非常好我支持^.^
(0) 0%
不好我反对
(0) 0%
下载地址
iOS的设计模式分析下载
相关电子资料下载
- iOS17.1可能明天发布,iOS17.1主要修复哪些问题? 377
- 华为全新鸿蒙蓄势待发 仅支持鸿蒙内核和鸿蒙系统应用 719
- 苹果手机系统iOS 17遭用户质疑 731
- iPhone12辐射超标?苹果推送iOS 17.1解决此事 750
- 传华为囤积零部件 目标明年智能手机出货7000万部;消息称 MiOS 仅限国内,小米 28208
- 苹果推送iOS17.0.3,解决iPhone15Pro系列存在机身过热 216
- Testin云测兼容和真机服务平台中上线iPhone 15系列手机 208
- 利尔达推出搭载HooRiiOS的Matter模组 145
- 运放参数解析:输入偏置电流(Ibias)和失调电流(Ios) 128
- 昆仑太科发布支持国产飞腾腾锐D2000芯片的开源BIOS固件版本 448