博客专栏  >  架构   >  设计模式

设计模式

讲述软件设计过程中常用到的设计模式,为有更好的设计打下扎实的基础

关注
2 已关注
25篇博文
  • 设计模式总结

    前面的文章已经把每一种设计模式都进行了介绍。接下来对每种模式进行简要的概括总结,便于记忆。我就从创建型、结构型和行为型三个大类进行概括。、 1.创建型模式 1.单例模式          一个类...

    2018-01-27 22:08
    162
  • 设计模式之访问者模式

    之前我们介绍过观察者模式,是用于数据发生更新时,可以统一通知数据相关的对象进行相应的更新。而本文介绍的访问者模式,则是面对有许多对象需要进行某些操作时,如果在相应类中完成,则会污染类,因为这些操作会发...

    2018-01-27 19:46
    234
  • 设计模式之享元模式

    如果一个程序需要使用大量对象,但这些对象中有好多重复的对象,如果对其进行重复的创建对象,那么必然会造成很大的开销,其中这里面有很大一部分开销是不必要的。我们之前讲单例模式的时候,讲过单例模式就是严格控...

    2018-01-26 15:54
    187
  • 设计模式之迭代器模式

    如果我们需要遍历一个集合中的对象,但是又不想暴露该集合中的内部表示的时候,我们可以考虑迭代器模式。迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。我们在遍历过程中把游走...

    2018-01-26 11:45
    204
  • 设计模式之生成器模式

    如果我们要出去旅游都需要制定旅游计划,包括旅游天数、定酒店等等,如果这时候你去专业的公司去定制你的旅游行程。这时候公司就如同一个生成器,根据游客需求定制一个合适的计划。我们发现旅游计划中有公共部分,那...

    2018-01-25 10:52
    273
  • 设计模式之备忘录模式

    平时如果我们工作繁忙的时候都有写备忘录的习惯,如果我们认真写了备忘录的话,我们可以看看之前干了什么,之后又要干什么。而备忘录模式则是让对象返回之前的状态,例如需要将用户请求撤销,返回上一个状态,则应该...

    2018-01-24 21:06
    204
  • 设计模式之桥接模式

    我们平时去面馆吃面,点面的时候有的人喜欢吃辣的面,有的喜欢微辣,有的喜欢无辣。对于面的种类还有的喜欢猪肉面、牛肉面等等。那么厨师肯定根据大家的点的情况进行煮。厨师肯定依据大家点的面种类,先将同类的进行...

    2018-01-24 14:47
    196
  • 设计模式之原型模式

    我们都知道多利羊吧,世界上第一个克隆生物。自从有了克隆羊的出现之后,我们对克隆的认识更加深刻。其实原型模式就是通过复制现有的实例来创建新的实例。而且在Java中,原型模式更加体现了克隆的思想。通过使用...

    2018-01-24 11:39
    176
  • 设计模式之责任链模式

    如果你在公司遇到了什么问题,求助于部门经理,如果在他职责范围之内,他会帮你解决;但是如果不在部门经理职责范围内,他会递交给总经理,同样的,如果总经理能解决,他会解决,如果解决不了他会往上提交。其实这也...

    2018-01-24 10:20
    197
  • 设计模式之代理模式

    在某些情况下,客户端代码不想或不能够直接调用被调用者,代理对象可以在客户端和目标对象之间起到中介的作用。这种情况下,客户端实际上也不关心是否准确得到该对象,它只要一个能够提供该功能的对象即可,此时就可...

    2018-01-23 21:29
    202
  • 设计模式之中介者模式

    生活中有一个叫做中介公司的存在,有时候确实帮我们省却了不少功夫。比如买房什么的,我们只需要跟说明我们的需求,中介会跟相应的房源联系,这省却了我们盲目地寻找,挨家挨户的看房。这就是中介这个工作存在的好处...

    2018-01-23 15:08
    188
  • 设计模式之解释器模式

    假如有一天,老师给一篇文章,需要对其进行不同的处理,我们可以在一个类中利用不同方法实现,但是这个类就显得冗余。我们在设计中,有一个设计原则叫做单一责任原则,即尽可能一个类代表一个功能。那么,我们这里需...

    2018-01-23 10:17
    195
  • 设计模式之装饰器模式

    生活中门是大家每天都可以见到的东西,我们以木门为例,一个木门主要是由木头组成的,如果有一天为了美观我们想在木门上面添加一些木材饰品,那么我们总不能直接换一个门吧,那多浪费啊。那么我们可以先选定一些木材...

    2018-01-23 09:02
    211
  • 设计模式之外观模式

    在生活中,我们如果需要自己动手做菜,那么需要经历买菜-->洗菜-->切菜-->烹饪等步骤,那么如果这些步骤都是独立的类,而客户端指的是做菜的人,那么客户端需要调用每一个类里相应的函数,那么这样会造成客...

    2018-01-22 09:43
    209
  • 设计模式之适配器模式

    如果我们有一个方块,有一个圆孔,并且方块的外接圆半径大于圆孔的半径,现要求在不改变这两者自身尺寸的情况下,将这两者作为一个整体。按理说,因为方块的外接圆半径大于圆孔,硬塞是塞不进去了。那么我们可以换种...

    2018-01-22 11:17
    207
  • 设计模式之观察者模式

    观察者模式定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。观察者模式中,subject是具有状态的对象,是真正拥有数据的对象。有许多观察者依赖着sub...

    2018-01-21 21:16
    249
  • 设计模式之组合模式

    我们在设计过程中会碰到类树的问题,比如一个类是树根,好多类是其子树,又有好多类是子树的子树,它们的关系分布就如同一棵树的关系。这时我们声明对象都以树根类来声明,那么我们操作所有整棵树所有对象都不需要进...

    2018-01-21 13:31
    232
  • 设计模式之状态模式

    之前讲到的命令模式是将具体操作分离出来,而这里的状态模式也是相同的思路,将每种状态分离出来,建立状态类。状态模式的描述有很多种,比如状态模式封装基于状态的行为,并将行为委托到当前状态;又比如还有状态模...

    2018-01-20 10:26
    218
  • 设计模式之模板方法模式

    模板方法模式在一个方法中定义一个算法骨架,而将一些步骤延迟到子类中,模板方法使得子类可以在不改变算法结构的情况下,重新定义算法的某些步骤。假设一些工厂生产一些产品,虽然生产的产品不同,但有些步骤是相同...

    2018-01-20 14:19
    209
  • 设计模式之命令模式

    命令模式将“请求”封装成对象以便使用不同的请求、队列或者日志来参数化其它对象。将不同命令接口的匿名实现类作为参数传入某个方法,这个只需要方法只需要调用该对象参数的某个方法即可,并不需要关心这个被调用方...

    2018-01-19 13:18
    225

SSM开发
184319
动态规划
1010477
SSH框架
125669
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部