该图来自于《大话设计模式》。 依赖关系:虚线箭头表示,指向被依赖对象。 继承关系:空心三角形+实线表示,子类指向父类。 组合关系:实心菱形+实线箭头表示。 关联关系:实线箭头表示。 聚合关系:空心菱形+实线箭头表示。 实现关系:空心三角形+虚线表示或者棒棒糖表示法。 ...
分类:
其他好文 时间:
2021-06-02 12:22:56
阅读次数:
0
学习模式要善于变通,如果只有一个ConcreteComponent类而没有抽象的Component类,那么Decorator类可以是ConcreteComponent的一个子类。 同样道理,如果只有一个ConcreteDecorator类,那么就没有必要建立一个单独的Decorator类,只保留一个 ...
分类:
编程语言 时间:
2021-02-19 13:23:29
阅读次数:
0
这篇文章比较短,没有太多的技术原理,没有太多的冗长的源码,只是简简单单的推荐一本书:《Java设计模式及实践》一天在逛微信读书的时候,微信读书推荐了一本名为《Java设计模式及实践》的书籍,点进去一看只有5.4的评分,本来以为又是一本比较水的书,想到以前看的一些设计模式的书《大话设计模式》《HeadFirst设计模式》等,大部分讲的内容都不外乎于GOF的23种设计模式,这本书也应该不会逃出这些内容
分类:
其他好文 时间:
2020-10-29 10:01:42
阅读次数:
18
本专栏内容均引用《大话设计模式》并做适当修改, 起因 有部分计算机专业的学生或有一定经验的在职开发者,他们都知道类、方法、构造方法、甚至抽象类、接口等概念,并用各种IDE写过不少的Windows或Web程序,但是当问到为什么要用面向对象,它的好处在哪里,却没有人能完整的讲出来,多数人的反应是,概念知 ...
分类:
其他好文 时间:
2020-07-15 23:33:52
阅读次数:
65
面向对象的四个好处,是可维护、可扩展、可复用和灵活性好。PC电脑里的易插拨,不管硬件哪一个出问题,都可以不影响别的部件的前提下进行修改或替换< >面向对象的强内聚,松耦合。 设计模式的几大原则: 单一职责原则,就是指就一个类而言,应该仅有一个引起它变化的原因。 开放—封闭原则是说对扩展开发,对修改关 ...
分类:
其他好文 时间:
2020-07-12 22:12:51
阅读次数:
76
策略模式的结构 这个模式涉及到三个角色: 环境(Context)角色:持有一个 Strategy 类的引用。抽象策略(Strategy)角色:这是一个抽象角色,通常由一个接口或抽象类实现。此角色给出所有的具体策略类所需的接口。具体策略(ConcreteStrategy)角色:包装了相关的算法或行为。 ...
设计模式——组合模式设计模式大话设计模式组合模式一视同仁 经典 大话设计模式 介绍 意图:将对象组合成树形结构以表示"部分-整体"的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 主要解决:它在我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以像处理简单元素一样来处 ...
分类:
其他好文 时间:
2020-07-08 22:40:31
阅读次数:
73
#大话设计模式——简单工厂模式 --参考自《大话设计模式》 需求 现在有一个需求,实现一个简单的计算器 对于一般的初学者来说可能会这么实现: public class calculate { public static void main(String[] args) { Scanner cin = ...
分类:
其他好文 时间:
2020-06-21 19:41:43
阅读次数:
40
参考《大话设计模式》 1、 引入 生活中我们接收信息的渠道多种多样,太过庞杂的信息阅读一定程度上会带来信息垃圾,而选择自己喜欢、感兴趣的内容订阅它,当它状态更新(发布)时通知我们,我们再去查阅,既减少了等待消息的成本,也能及时接收最新消息,这种情形就是观察者模式的典型应用。因此,观察者模式经常用于具 ...
分类:
其他好文 时间:
2020-06-15 21:10:43
阅读次数:
60
学习笔录——设计模式 模板方法模式(TemplateMethod) 简介 对于不变的行为通过模板方法提到单一的地方 个人理解,不足之处还请指教。 封装好相同复用的代码到父类,可变的业务逻辑延时到具体的子类执行。 ...
分类:
其他好文 时间:
2020-06-09 23:20:51
阅读次数:
55