前言 设计模式其实就是前人们的在开发过程中总结出来的对特定问题的解决方案。设计模式和编程语言没有必然的联系,它的目的是解决代码可复用性、可维护性、可扩展性、可读性、稳健性以及安全性。 GOF-23种设计模式1994年,Erich Gamma、Richard Helm、Ralph Johnson与John Vlissides撰写了Design Patterns:Elements of Reusable Object-Oriented software(设计模式可复用面向对象软件的基础)这本书,书中介绍了23种设计模式,也是Java程序员口中常提的设计模式,但实际的设计模式远超23种。那GOF又是什么?它是上面提到的四位作者的合称(Gang of Four 四人帮)。 面向对象编程和面向对象设计原则相信对设计模式有一定了解的老铁肯定有听过5种、6种和7种的版本。 其实最开始的设计原则是5种,也叫SOLID原则,也是下列表格中前五种原则的英文首字母组合。 而6种原则是在5种的基础上增加了迪米特法则,也是现在绝大多数书中的所讲的版本。 7种则是在6种的基础上增加了合成复用原则,但是7种存在一些争议,到底是坚持6种还是7种就仁者见仁智者见智了。
学设计模式有什么用学设计模式的原因我觉得基本逃不开以下这四点: 应付面试(最直观的点) 为了炫技 提升个人编码内功 为了更好的理解开源框架设计思想 ... GOF-23设计模式类型在GOF-23设计模式中,对23种设计模式进行了分类,分别为创建型、结构型和行为型。 创建型:强调的是对象创建的模式,而不是直接实例化对象。 结构型:关注类和对象的组合,使用继承来组合接口并定义组合对象以获得新功能的方法。说的再白一点就是通过组合类或对象形成新的数据结构去解决更为复杂的需求。 行为型:关注对象之间的通信。 讲到这里,肯定有人会说23种设计模式到底是哪23种。别急,下面就给大家附上图。 以上所介绍的内容大家也都可以在wiki百科中找到,地址如下: 地址: https://en./wiki/Design_Patterns 总结好了,本文到此也就结束了,最后咱们来一个总结回顾下上面的知识点。 通过本篇文章我们可以学到如下几点: 什么是设计模式 什么是GOF-23设计模式 面向对象编程和面向对象设计原则 学设计模式有什么用 GOF-23设计模式种类划分 最后再给大家多提一嘴,Java设计模式也是指的GOF-23设计模式,但是这种叫法是不对的。静态语言和动态语言以及各种语言的特性,并不是所有的设计模式跨语言使用都是合适的,有些设计模式刚诞生的时候是跟作者当时所用的语言有一些关联,但是换到其它语言也许会有其它的解决方案,这一点也是大家需要注意的。 |
|