【Java设计模式】设计模式学习引导

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_42322103/article/details/102217881

其实关于UML、7种软件设计原则和23种设计模式相关的文章,我之前都已经写过了,但是因为创作仓促,质量没有达到我的预期,都被我设置成了私密,接下来的日子里,打算再依次打磨打磨,发表出来。

截止目前,唯一放出来的只有 【Java设计模式】软件设计七大原则,阅读量两万多,看来大家都热衷于将代码写得更加优质,有水平呀~

这篇文章主要起到小地图的作用,不涉及具体的设计模式的探讨以及设计模式的发展历程。


从1995 年至今,设计模式在软件开发中得以广泛应用,在Sun 的Java SE/Java EE 平台 和Microsoft 的.net 平台 设计中就应用了大量的设计模式。

设计模式(Design Pattern) 是一套 被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结 ,使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。

根据其 目的 (模式是用来做什么的)可分为 创建型(Creational) , 结构型(Structural) 和 行为型(Behavioral) 三种:

  • 创建型模式主要用于创建对象
  • 结构型模式主要用于处理类或对象的组合
  • 行为型模式主要用于描述对类或对象怎样交互和怎样分配职责

创建型模式

  • 抽象工厂模式(Abstract Factory)
  • 建造者模式(Builder)
  • 工厂方法模式(Factory Method)
  • 原型模式(Prototype)
  • 单例模式(Singleton)

结构型模式

  • 适配器模式(Adapter)
  • 桥接模式(Bridge)
  • 组合模式(Composite)
  • 装饰模式(Decorator)
  • 外观模式(Facade)
  • 享元模式(Flyweight)
  • 代理模式(Proxy)

行为型模式

  • 职责链模式(Chain of Responsibility)
  • 命令模式(Command)
  • 解释器模式(Interpreter)
  • 迭代器模式(Iterator)
  • 中介者模式(Mediator)
  • 备忘录模式(Memento)
  • 观察者模式(Observer)
  • 状态模式(State)
  • 策略模式(Strategy)
  • 模板方法模式(Template Method)
  • 访问者模式(Visitor)

根据 范围 ,即模式主要是用于处理类之间关系还是处理对象之间的关系,可分为 类模式对象模式 两种:

  • 类模式处理类和子类之间的关系,这些关系通过继承建立,在编译时刻就被确定下来,是属于静态的。
  • 对象模式处理对象间的关系,这些关系在运行时刻变化,更具动态性。

根据 范围 引看一下下面的表格:

范围\ 目的 创建型模式 结构型模式 行为型模式
类模式 工厂方法模式 (类)适配器模式 解释器模式
模板方法模式
对象模式 抽象工厂模式
建造者模式
原型模式
单例模式
(对象)适配器模式
桥接模式
组合模式
装饰模式
外观模式
享元模式
代理模式
职责链模式
命令模式
迭代器模式
中介者模式
备忘录模式
观察者模式
状态模式
策略模式
访问者模式

**上面的两种分类要在心中有数**

你现在知道设计模式大致有哪些东西了,想要很好地应用可以从它的基本要素着手:模式名称、问题、目的、解决方案、效果、实例代码和相关设计模式

其中的关键元素包括以下四个方面:
• 模式名称 (Pattern name)
• 问题 (Problem)
• 解决方案 (Solution)
• 效果 (Consequences)

提到的相关设计模式表明有些设计模式可以结合使用的。

还有注意在学习设计模式之前要把UML类图搞清楚,也要有这样的意识:设计模式不完全遵循七大软件设计原则,也就是说有的原则可能违背,有的原则则是遵守,是一种取舍性质。

猜你喜欢

转载自blog.csdn.net/qq_42322103/article/details/102217881
今日推荐