编写软件过程中,程序员面临着来自耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性等多方面的挑战,设计模式是为了让程序(软件),具有更好的代码重用性、可读性、可扩展性、可靠性,使程序呈现高内聚,低耦合的特性。
- 代码重用性(相同功能的代码,不用多次编写)
- 可读性(编程规范性,便于理解)
- 可扩展性(需要增加新功能,非常的方便)
- 可靠性(增加新的功能后,对原有的功能不影响)
- 高内聚(模块内部非常紧密)、低耦合(功能之间依赖性低)
设计模式包含了面向对象的精髓,“懂了设计模式,你就懂了面向对象分析和设计(OOA/D)的精要”