摘要: 什么是原型模式? 如果对象的创建成本比较大,而同一个类的不同对象之间差别不大(大部分字段都相同),在这种情况下,我们可以利用对已有对象(原型)进行复制(或者叫拷贝)的方式,来创建新对象,以达到节省创建时间的目的。这种基于原型来创建对象的方式就叫作原型设计模式,简称原型模式。 原型模式的两种实现方法 阅读全文
posted @ 2021-01-20 15:42 kudo_shini 阅读(58) 评论(0) 推荐(0) 编辑
摘要: Builder 模式/建造者模式/构建者模式/生成器模式 我们可以把校验逻辑放置到 Builder 类中,先创建建造者,并且通过 set() 方法设置建造者的变量值,然后在使用 build() 方法真正创建对象之前,做集中的校验,校验通过之后才会创建对象。除此之外,我们把 ResourcePoolC 阅读全文
posted @ 2021-01-20 15:41 kudo_shini 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 工厂模式(Factory Design Pattern) 分类 简单工厂 工厂方法 工厂方法模式比起简单工厂模式更加符合开闭原则。 抽象工厂 依赖注入框架,或者叫依赖注入容器(Dependency Injection Container),简称 DI 容器 DI 容器底层最基本的设计思路就是基于工厂 阅读全文
posted @ 2021-01-20 15:40 kudo_shini 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 单例设计模式(Singleton Design Pattern) 单例的定义? 单例设计模式(Singleton Design Pattern)理解起来非常简单。一个类只允许创建一个对象(或者叫实例),那这个类就是一个单例类,这种设计模式就叫作单例设计模式,简称单例模式。 单例的用处? 从业务概念上 阅读全文
posted @ 2021-01-20 15:39 kudo_shini 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 中介模式 (Mediator Design Pattern) 中介模式定义了一个单独的(中介)对象,来封装一组对象之间的交互。将这组对象之间的交互委派给与中介对象交互,来避免对象之间的直接交互 中介模式的原理和实现 中介模式的设计思想跟中间层很像,通过引入中介这个中间层,将一组对象之间的交互关系(或 阅读全文
posted @ 2021-01-20 15:37 kudo_shini 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 解释器模式( Interpreter Design Pattern) 解释器模式为某个语言定义它的语法(或者叫文法)表示,并定义一个解释器用来处理这个语法 解释器模式只在一些特定的领域会被用到,比如编译器、规则引擎、正则表达式 解释器模式的原理和实现 解释器模式为某个语言定义它的语法(或者叫文法)表 阅读全文
posted @ 2021-01-20 15:36 kudo_shini 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 命令模式(Command Design Pattern) 命令模式将请求(命令)封装为一个对象,这样可以使用不同的请求参数化其他对象(将不同请求依赖注入到其他对象),并且能够支持请求(命令)的排队执行、记录日志、撤销等(附加控制)功能 命令模式的原理与实现 落实到编码实现,命令模式用的最核心的实现手 阅读全文
posted @ 2021-01-20 15:35 kudo_shini 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 备忘录模式( Memento Design Pattern) 在不违背封装原则的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便之后恢复对象为先前的状态 备忘录模式的原理与实现 备忘录模式也叫快照模式,具体来说,就是在不违背封装原则的前提下,捕获一个对象的内部状态,并在该对象之外保存 阅读全文
posted @ 2021-01-20 15:34 kudo_shini 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 访问者模式(Visitor Design Pattern) 多态是一种动态绑定,可以在运行时获取对象的实际类型,来运行实际类型对应的方法。而函数重载是一种静态绑定,在编译时并不能获取对象的实际类型,而是根据声明类型执行声明类型对应的方法。 允许一个或者多个操作应用到一组对象上,解耦操作和对象本身 访 阅读全文
posted @ 2021-01-20 15:33 kudo_shini 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 迭代器模式(Iterator Design Pattern) 用来遍历集合对象。这里说的“集合对象”也可以叫“容器”“聚合对象”,实际上就是包含一组对象的对象,比如数组、链表、树、图、跳表。迭代器模式将集合对象的遍历操作从集合类中拆分出来,放到迭代器类中,让两者的职责更加单一 迭代器模式的原理和实现 阅读全文
posted @ 2021-01-20 15:32 kudo_shini 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 状态模式(State Design Pattern) 状态模式一般用来实现状态机,而状态机常用在游戏、工作流引擎等系统开发中。不过,状态机的实现方式有多种,除了状态模式,比较常用的还有分支逻辑法和查表法。 什么是有限状态机? 有限状态机,英文翻译是 Finite State Machine,缩写为 阅读全文
posted @ 2021-01-20 15:31 kudo_shini 阅读(77) 评论(0) 推荐(0) 编辑