不全。常用的。主要分为三大类
·创建型
·构造性
·行为型
- 简单工厂模式:一个工厂生产一个要求的同种对象。 eg:字符串
- 方法工厂模式: 一个工厂生产多个要求的同种对象 。 cell工厂模式。 根据model 类型不同,初始化多个子类工厂类创建不同的cell对象。
3.抽象工厂模式:跟方法工厂模式类似。不过多有多个子类工厂,并且子类工厂可以生产出不同对象。类似 子类工厂A可以 生产 产品A 和产品B 。 既可以创建cell 。 又可以创建button。
4.单利模式。常驻内存的一个类。eg:用户信息单利
5.创建者模式: 更为复杂的 抽象工厂模式 。 用来创建更加复杂的产品。 将复杂的产品,拆分开。 分别创建。最后组合。相较于抽象工厂模式。我们我们生产了A 和B ,A 和B 组合在一起才是客户想要的产品。但是A 和B 是分开创建的。
适配器模式:官义:将一个类的api转换成客户想要的api。adapter设计模式可以将原本由于接口不兼容的类之间可以完成对接。eg:(week,H5 )SDK要做的图片加载 缓存。每个对接app都可能采取不同的方式处理处理下载缓存方案。没办法做到统一。 这时对象适配器的将提供一个api供外部app适配。
装饰器模式: 官义:在不修改原类代码基础上 给一个类动态添加行为,方法。 eg:OC的拓展,类别。 swift 的协议代理,拓展,类别都可以。
桥接模式:官义:A想要B 通信, 但是AB之间不能通过继承,引用等方式直接使用。eg: JS与ios交互, jsbrigecore 和 jsmessagehandle 。 oc和swift 的桥接文件。
代理模式: A 要想做一件自己做不到的事情,然后A叫B 帮他做。
纯元模式:内存中过度的创建相似 ./相同的类。 cell重用
外观设计模式:SDK 开发的时候 api尽量简洁。
观察者模式:KVO,通知。 主动观察到一个状态变化,然后做一些事情。
中介者设计模式: CTM 。 A和B 之间通信,不通过引用,不是显示的调用。通过中介者转发。解耦。