乐趣区

关于java:设计模式学习01Java实现设计模式概述和分类

写在后面

  • 记录学习设计模式的笔记
  • 进步对设计模式的灵活运用

学习地址

https://www.bilibili.com/vide…

https://www.bilibili.com/vide…

参考文章

http://c.biancheng.net/view/1…

我的项目源码
https://gitee.com/zhuang-kang/DesignPattern

1,设计模式概述

1.1 软件设计模式的产生背景

“ 设计模式 ” 最后并不是呈现在软件设计中,而是被用于修建畛域的设计中。

1977 年美国驰名修建巨匠、加利福尼亚大学伯克利分校环境构造核心主任 克里斯托夫·亚历山大(Christopher Alexander)在他的著述《修建模式语言:城镇、修建、结构》中形容了一些常见的建筑设计问题,并提出了 253 种对于对城镇、邻里、住宅、花园和房间等进行设计的基本模式。

1990 年软件工程界开始研究设计模式的话题,起初召开了屡次对于设计模式的研讨会。直到 1995 年,艾瑞克·伽马(ErichGamma)、理査德·海尔姆(Richard Helm)、拉尔夫·约翰森(Ralph Johnson)、约翰·威利斯迪斯(John Vlissides)等 4 位作者单干出版了《设计模式:可复用面向对象软件的根底》一书,在此书中收录了 23 个设计模式,这是设计模式畛域里程碑的事件,导致了软件设计模式的冲破。这 4 位作者在软件开发畛域里也以他们的“四人组”(Gang of Four,GoF)著称。

1.2 软件设计模式的概念

软件设计模式(Software Design Pattern),又称设计模式,是一套被重复应用、少数人通晓的、通过分类编目标、代码设计教训的总结。它形容了在软件设计过程中的一些一直反复产生的问题,以及该问题的解决方案。也就是说,它是解决特定问题的一系列套路,是前辈们的代码设计教训的总结,具备肯定的普遍性,能够重复应用。

1.3 学习设计模式的必要性

设计模式的实质是面向对象设计准则的理论使用,是对类的封装性、继承性和多态性以及类的关联关系和组合关系的充沛了解。

正确应用设计模式具备以下长处。

  • 能够进步程序员的思维能力、编程能力和设计能力。
  • 使程序设计更加标准化、代码编制更加工程化,使软件开发效率大大提高,从而缩短软件的开发周期。
  • 使设计的代码可重用性高、可读性强、可靠性高、灵活性好、可维护性强。

1.4 设计模式分类

  • 创立型模式

    用于形容“怎么创建对象”,它的次要特点是“将对象的创立与应用拆散”。GoF(四人组)书中提供了单例、原型、工厂办法、形象工厂、建造者等 5 种创立型模式。

  • 结构型模式

    用于形容如何将类或对象按某种布局组成更大的构造,GoF(四人组)书中提供了代理、适配器、桥接、装璜、外观、享元、组合等 7 种结构型模式。

  • 行为型模式

    用于形容类或对象之间怎么相互协作共同完成单个对象无奈独自实现的工作,以及怎么调配职责。GoF(四人组)书中提供了模板办法、策略、命令、职责链、状态、观察者、中介者、迭代器、访问者、备忘录、解释器等 11 种行为型模式。

    写在最初

    • 如果我的文章对你有用,请给我点个👍,感激你😊!
    • 有问题,欢送在评论区指出!💪
退出移动版