![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
《图解设计模式》
文章平均质量分 95
《图解设计模式》
猫吻鱼
不是我鸽,是我太忙。
感觉要猝死
展开
-
设计模式 :总结篇
设计模式① :适应设计模式Iterator 模式:一个一个遍历。Adapter 模式:加个适配器以便于复用。设计模式② :交给子类Template Method 模式 :将具体处理交给子类Factory Method 模式 :将实例的生成交给子类。设计模式③ :生成实例Singleton 模式 :只有一个实例Prototype 模式 :通过复制生成实例Builder 模式 :组装复杂的实例Abstract Factory 模式 :将关联零件组装成产品设计模式④ :分开考虑。原创 2024-01-27 17:19:38 · 811 阅读 · 0 评论 -
设计模式⑩ :用类来实现
一个类在进行工作时会调用自己或其他类的方法,虽然调用结果会反映在对象的状态中,但并不会留下工作的历史记录。这时如果我们有一个类,用来表示“请进行这项工作”的“命令”就会方便很多。每一项的工作就不再是“方法的调用”这种动态处理了,而是一个表示命令的类的实例,即可以用“物”来表示。想要管理工作的历史记录,只需要管理这些实例的集合即可。还可以随时再次执行过去的命令,或者将多个过去的命令整合成一个新的命令并执行。在设计模式中,我们称这样的命令为 Command 模式(命令模式)。Command 有时也会被称为事件。原创 2024-01-27 17:04:17 · 1376 阅读 · 0 评论 -
设计模式⑨ :避免浪费
有时候不想动脑子,就懒得看源码又不像浪费时间所以会看看书,但是又记不住,所以决定开始写"抄书"系列。本系列大部分内容都是来源于《 图解设计模式》(【日】结城浩 著)。该系列文章可随意转载。Flyweight 即轻量级的意思,如通过尽量共享实例来避免 new 出实例,占用更少的内存的思想。Flyweight 模式 登场的角色Flyweight (轻量级) : 表示那些可以被共享的类。原创 2024-01-25 10:09:12 · 1188 阅读 · 0 评论 -
设计模式⑧ :管理状态
有时候不想动脑子,就懒得看源码又不像浪费时间所以会看看书,但是又记不住,所以决定开始写"抄书"系列。本系列大部分内容都是来源于《 图解设计模式》(【日】结城浩 著)。该系列文章可随意转载。Observer 即 “观察者”,在 Observer 模式中,当观察对象的状态发生变化时,会通知给观察者。Observer 模式适用于根据对象状态进行相应处理的场景。Subject (观察对象):Subject 角色表示观察对象。Subject 角色定义了注册观察者和删除观察者的方法。原创 2024-01-24 16:43:44 · 1069 阅读 · 0 评论 -
设计模式⑦ :简单化
有时候不想动脑子,就懒得看源码又不像浪费时间所以会看看书,但是又记不住,所以决定开始写"抄书"系列。本系列大部分内容都是来源于《 图解设计模式》(【日】结城浩 著)。该系列文章可随意转载。一般来说,随着时间推移,程序会变得越来越复杂,这使得程序结构也变得越来越复杂,在使用这些功能时,我们需要先整理清楚他们之间的关系,注意正确的调用顺序。与其如此,不如为这个大型程序准备一个“窗口“,这样就无需关注每个类,只需要简单的对窗口提出请求即可。原创 2024-01-18 19:29:25 · 1247 阅读 · 0 评论 -
设计模式⑥ :访问数据结构
在 Visitor 模式中,数据结构和数据被分离开来。我们需要编写一个“访问者”的类来访问数据结构中的元素,并把对各元素的处理交给访问者类。这样当需要增加新的处理时,我们只需要编写新的访问者,然后让数据结构可以接受访问者的访问即可。Visitor(访问者):该角色负责对数据结构中每个具体的元素(ConcreteElement角色)声明一个用于访问XXX 的 visit(XXX) 方法。visit(XXX) 是用于处理 XXX 的方法,负责实现该方法的是 ConcreteVisitor 橘色。原创 2024-01-15 21:45:59 · 1100 阅读 · 0 评论 -
设计模式⑤ :一致性
能够使容器与内容具有一致性,创造出具有递归结构的模式就是 Composite 模式(组合模式)。Composite 模式中登场的角色Leaf (树叶):表示“内容”的角色,在该角色中不能放入其他角色。Composite(复合物):表示容器的角色,可以在其中放入 Leaf 角色和 Composite 角色。Component :使用 Leaf 和 Composite 角色具有一致性的角色。Component 角色是 Leaf 角色和 Composite角色的父类。原创 2024-01-10 18:41:58 · 1153 阅读 · 0 评论 -
设计模式④ :分开考虑
Bridge 模式的作用是将两种东西连接起来,它们分别是 类的功能层次结构 和 类的实现层次结构,但是通常来说,类的层次结构不应当过深。类的功能层次结构 :在父类中具有基本功能,在子类中增加新的功能。这种层次结构成为 类的功能层次结构。类的实现层次结构:父类通过声明抽象方法来定义接口,子类通过实现具体方法来实现接口。这种层次结构称为 类的实现层次结构。Bridge 模式登场的角色。原创 2024-01-08 19:06:16 · 1054 阅读 · 0 评论 -
设计模式② :交给子类
有时候不想动脑子,就懒得看源码又不像浪费时间所以会看看书,但是又记不住,所以决定开始写"抄书"系列。本系列大部分内容都是来源于《 图解设计模式》(【日】结城浩 著),内容仅用于个人学习记录,可随意转载。在父类中定义处理流程框架,在子类中实现具体处理的模式就称为 Template Method 模式。AbstractClass(抽象类):AbstractClass 角色不仅负责实现模板方法,还负责声明在模板方法中所使用到的抽象方法。这些抽象方法由子类ConcreteClass角色负责实现。原创 2024-01-05 10:39:11 · 1168 阅读 · 0 评论 -
设计模式③ :生成实例
有时候不想动脑子,就懒得看源码又不像浪费时间所以会看看书,但是又记不住,所以决定开始写"抄书"系列。本系列大部分内容都是来源于《 图解设计模式》(【日】结城浩 著)。该系列文章可随意转载。想确保任何情况下都绝对只有一个实例想在程序上表现出“只存在一个实例”像这种确保只生成一个实例的模式被称为Singleton 模式。Singleton :在 Singleton 模式中只有这一个角色。Singleton 角色中有一个返回唯一实例的 static 方法,该方法总是会返回同一个实例。原创 2024-01-05 10:40:45 · 1152 阅读 · 0 评论 -
设计模式① :适应设计模式
有时候不想动脑子,就懒得看源码又不像浪费时间所以会看看书,但是又记不住,所以决定开始写"抄书"系列。本系列大部分内容都是来源于《 图解设计模式》(【日】结城浩 著),内容仅用于个人学习记录,可随意转载。......原创 2022-08-13 15:13:53 · 675 阅读 · 0 评论