设计模式
设计模式是对被用来在特定场景下解决一般设计问题的类和相互通信的对象的描述。
这是《设计模式:可复用面向对象软件的基础》(Design Patterns: Elements of Reusable Object-Oriented)中对设计模式的定义。看完以后你会不会和我有一样的感觉:这特么说是啥?
于是,我找到了英文原文:
The design patterns are descriptions of communicating objects and classes that are customized to solve a general design problem in a particular context.
稍微翻译一下:设计模式是对互相通信对象和类的描述,这些对象和类被定制以解决特定场景下的一般设计问题。(一些技术书籍晦涩难度,甚至语义不通,大多数是翻译的锅。)
也可以理解为设计模式是某一类问题的通用解决方案,使用设计模式的目的是为了可重用代码,提高代码的可扩展性和可维护性。
创建模式
用于创建对象,为设计类实例化新对象提供指南。
结构型
用于处理类或对象的组合,对类如何设计以形成更大的结构提供指南。
行为型
用于描述类或对象的交互以及职责的分配,对类之间交互以及分配责任的方式提供指南。
“你跟讲了这么多,说好的图呢?” “不要着急,最好的总是在不经意的时候出现。”