为什么要学习设计模式,设计模式有什么作用?
设计模式最主要的作用就是解决问题,解决什么样的问题呐?解决特定环境下、重复出现的、特定的问题。就像乘法口诀一样,当你遇到类似 8+8+8+8+8 =?会乘法口诀的同学不有自主的会想到 8+8+8+8+8 =5X8 = 45 不会乘法口诀的同学也能算出来,可能会算的慢些。
其次是程序员交流的语言工具,就像看到一个美女,有的同学会说,哇,真美;有的同学会说,手如柔荑,肤如凝脂,领如蝤蛴,齿如瓠犀。螓首蛾眉,巧笑倩兮,美目盼兮。
再者是装逼的工具。面试的时候,你说你做过的项目用到了那些设计模式,就会显得逼格高些。
什么是设计模式
设计模式是指在软件开发中,经过验证的,用于解决在特定环境下、重复出现的、特定问题的解决方案。
设计模式总共有23个,大致分为3类:
- 创建型模式:抽象了对象实例化的过程,用来描述如何合理方便的创建对象的实例。
- 结构型模式:描述如何合理的组织类和对象的结构。
- 行为型模式:描述算法和对象间职责的分配。
创建型模式有6个:
- 简单工厂
- 工厂方法模式
- 抽象工厂模式
- 单例模式
- 创建者模式
- 原型模式
结构型模式有6个:
- 外观模式
- 适配器模式
- 代理模式
- 组合模式
- 装饰模式
- 桥接模式
行为型模式有11个:
- 中介者模式
- 观察者模式
- 命令模式
- 迭代器模式
- 模板方法模式
- 策略模式
- 状态模式
- 备忘录模式
- 解释器模式
- 职责链模式
- 访问者模式
善意提醒: 在实际开发中,要遵循简单的设计原则,不要为了模式而模式,不要过度设计,要在合适的地方应用合适的设计模式来解决问题。