为什么要使用设计模式?(重要性)
软件工程中,设计模式是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。这个术语是有埃里希-伽玛等人在1990年代从建筑设计领域引入到计算机科学的。
拿实际工作经历来说,当一个项目开发完后,如果客户提出新功能,怎么办?
如果项目开发完成后,原来的程序员离职,你接手维护该项目怎么办?(维护性【可读性、规范性】)
目前程序员门槛越来越高,一线IT大公司都会问你在实际项目中使用过什么设计模式,怎样使用的,解决了什么问题。
设计模式在软件中哪里? 面向对象 => 功能模块[设计模式+算法(数据结构)] => 框架[使用到多种设计模式] => 架构[服务器集群]
设计模式的目的:
编写软件的过程中,程序员面临着来自耦合性、内聚性以及可维护性,可扩展性,重用性,灵活性等多方面的挑战,设计模式是为了让程序(软件),具有更好的
代码重用性(即:相同功能的代码,不用多次编写)
可读性(即:编程规范性,便于其他程序员的阅读和理解)
可扩展性(即:当需要增加新的功能时,非常方便,称为可维护性)
可靠性(即:当我们增加新的功能后,对原来的功能没有影响)
使程序呈现高内聚、低耦合的特性
设计模式原则,其实就是程序员在编程时,应当遵守的原则,也是各种设计模式的基础(即:设计模式为什么这样设计的依据)
设计模式常用的七大原则有:
- 单一职责原则
- 接口隔离原则
- 依赖倒转(倒置)原则
- 里氏替换原则
- 开闭原则
- 迪米特法则
- 合成复用原则