设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,GOF提出了23种设计模式
工厂模式
- 简单工厂模式(静态工厂模式)
简单工厂模式不属于23种GOF设计模式之一,是工厂方法模式的特殊实现(工厂模式包含简单工厂模式)
类似:卖早饭的张婆婆:可以做茶叶蛋,包子,稀饭。
iOS中:直接体现是反射机制。
简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例
- 工厂模式
工厂方法使用OOP的多态性,将工厂和产品都抽象出一个基类,在基类中定义统一的接口,然后在具体的工厂中创建具体的产品。
类似:纳爱斯集团建造的只生产洗衣液的工厂和只生产洗洁精的工厂。
可以有多种工厂,工厂有共同的接口,一个工厂只能产生一种产品,比起简单工厂,工厂方法就不需要判断,耦合度低了不少。
抽象工厂
可以产生多个系列的产品,有2个维度的产品。
类似:KFC老板生产可乐系列产品、汉堡系列产品,每种系列产品又分大,中,小三种。
单例模式
享元模式
通过共享已存在的对象,减少创建对象内存开销的设计模式被称作享元模式。
类似:人们从石家庄去北京乘坐火车。
iOS中:在iOS开发中,享元模式的最佳实践就是UITableView的复用机制——超出屏幕外的单元格统一被回收放到一个复用队列之中,等待着需要新的单元格时进行复用
网友评论