1:什么是设计模式?为什么要用设计模式?
在大家写项目的时候,不知道会不会碰到这种情况:由于自己写业务逻辑的时候没有想好,完全凭感觉写。一旦出现bug,找半天也找不到出错的地方,好不容易debug到了修改好了,其他地方又出现了新问题。我们写的项目越复杂,功能加得越多,越意识到代码规范和设计思想对于一个优秀的程序员是多么的重要。
设计模式的出现就是为了解决这些问题,可谓程序员的软实力。下面简单介绍一下设计模式。
首先呢,设计模式这个概念并不是软件工程领域独有,甚至都不是写代码的发明的。最早的出现“模式语言”这个概念的是建筑领域。1977年,一本名为《模板语言:城镇、建筑、建造》(A Pattern Language:Towns,Buildings,Construction)的书中第一次提出与设计模式相似的概念。
那么软件工程领域什么时候提出的设计模式呢?--- 1994年《设计模式:可复用面向对象软件的基础》一书被公认为软件工程领域最早提出设计模式的著作。其中提出的23种设计模式至今仍被广大程序员朋友借鉴和使用。因为合著者为四人(人称GoF--- Gang of Four,四人组/四人帮),所以书中介绍的设计模式又称为「GoF设计模式」或者简称为 GoF23
最后我们回到标题的问题“什么是设计模式”:
设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。主要是解决面向对象编程的一些东西(面向过程编程是用不到的)。