在我们日常开发过程中设计模式伴随着项目的各个模块,合理地使用设计模式可以让我们写出更高效、简洁的代码。
浅谈设计模式的优缺点
什么是设计模式
设计模式是为了解决特定场景下的问题而定制的解决方案。
优点
- 合理的使用设计模式可以减低代码耦合、提高代码的复用率
- 合理的使用设计模式能使项目结构变得清晰
- 合理的使用时机模式可以使代码更容易维护
缺点
- 使用设计模式在一定程度上会增加代码的类别和代码量
设计模式的基本原则
开闭原则(OCP)
对模块扩展开放,对修改关闭,.m 文件里边的代码不改变
里氏替换原则(LSP)
任何类可以出现的地方,子类一定可以出现,子类跟父类相互替换,子类可以用父类所有的方法
多态:重写父类方法
尽量不要重写父类本身的实现逻辑
依赖倒转原则(DIP)
抽象不依赖与细节,细节依赖于抽象(一般指的是接口)
接口隔离原则(ISP)
接口里边只做必要的事情,不做其他无关的事情
合成、聚合复用原则(CARP)
从一个类扩展出另外一种方法,尽量不要使用继承,要使用其他的方法
最小知识原则(PLK)
两个类之间没有彼此直接通讯,而是使用另一个类来通讯
单一职责原则(SRP)
一个类只负责一个功能领域
设计模式的类型
- GOF 设计模式
- 并发设计模式
- 框架级别设计模式
23种设计模式的分类
创建型模式:5种
- 工厂模式
- 抽象工厂模式
- 建造者模式
- 原型模式
- 单例模式
并发设计模式:7种
- 代理模式
- 组合模式
- 桥接模式
- 享元模式
- 外观模式
- 装饰模式
- 适配器模式
框架级别的设计模式:11种
- 观察者模式
- 访问者模式
- 中介者模式
- 解释器模式
- 策略模式
- 迭代器模式
- 命令模式
- 状态模式
- 备忘录模式
- 模板方法模式
- 责任链模式
简单介绍MVC 中的设计模式
程序开发过程中常用的设计模式就是这23种,简单先介绍到这里,后续的博客中会一一介绍常用 的几种设计模式。