04 2023 档案

摘要:简介 模板方法模式(Template Method Pattern)也叫模板模式,是一种行为型模式。它定义了一个抽象公开类,包含基本的算法骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变算法的结构,只是重定义该算法的某些特定步骤。不同的子类以不同的方式实现这些抽象方法,从而对剩余的逻辑有不 阅读全文
posted @ 2023-04-29 21:50 刀法如飞 阅读(92) 评论(0) 推荐(0) 编辑
摘要:简介 策略模式(Strategy Pattern)属于行为型设计模式。将每一个算法封装到具有共同接口的独立类中,根据需要来绑定策略,使得具体实现和策略解耦。 当你想使用对象中各种不同的算法变体,使用if...else 所带来的复杂和难以维护,可使用策略模式。或者当有许多相同类,它们仅在执行某些行为时 阅读全文
posted @ 2023-04-28 09:18 刀法如飞 阅读(86) 评论(0) 推荐(0) 编辑
摘要:简介 单例模式(Singleton Pattern)属于创建型设计模式,这种模式只创建一个单一的类,保证一个类只有一个实例,并提供一个访问该实例的全局节点。 当您想控制实例数目,节省系统资源,并不想混用的时候,可以使用单例模式。单例有很多种实现方式,主要分为懒汉和饿汉模式,同时要通过加锁来避免线程安 阅读全文
posted @ 2023-04-27 09:12 刀法如飞 阅读(95) 评论(0) 推荐(0) 编辑
摘要:简介 代理模式(Proxy Pattern)是一种结构型设计模式,用一个类来代理另一个类或几个类的功能。 在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。 延迟初始化(虚拟代理)。如果你有一个偶尔使用的重量级服务对象,一直保持该对象运行会消耗系统资源时,可使用代理模式。 访问控制( 阅读全文
posted @ 2023-04-25 09:27 刀法如飞 阅读(67) 评论(0) 推荐(0) 编辑
摘要:简介 原型模式(Prototype Pattern)是一种创建型设计模式,使你能够复制已有对象,而无需使代码依赖它们所属的类,同时又能保证性能。 这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。 如果你需要复制一些对象,同时又希望代码独立于这 阅读全文
posted @ 2023-04-24 09:57 刀法如飞 阅读(250) 评论(0) 推荐(1) 编辑
摘要:简介 观察者模式(Observer Pattern)是一种行为型模式。它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 观察者模式使用三个类Subject、Observer和Client。Subject对象带有绑定观察者到Client对象和从 阅读全文
posted @ 2023-04-21 16:30 刀法如飞 阅读(228) 评论(0) 推荐(0) 编辑
摘要:简介 备忘录模式(Memento Pattern)是一种结构型设计模式。这种模式就是在不破坏封装的条件下,将一个对象的状态捕捉(Capture)住,并放在外部存储起来,从而可以在将来合适的时候把这个对象还原到存储起来的状态。备忘录模式常常与命令模式和迭代子模式一同使用。 备忘录模式的角色有三个:备忘 阅读全文
posted @ 2023-04-20 11:47 刀法如飞 阅读(73) 评论(0) 推荐(0) 编辑
摘要:* 中介者模式是一种行为型设计模式,它可以用来减少类之间的直接依赖关系, * 将对象之间的通信封装到一个中介者对象中,从而使得各个对象之间的关系更加松散。 * 在中介者模式中,对象之间不再直接相互交互,而是通过中介者来中转消息。 阅读全文
posted @ 2023-04-19 18:55 刀法如飞 阅读(73) 评论(0) 推荐(0) 编辑
摘要:简介 迭代器模式(Iterator Pattern),是一种结构型设计模式。给数据对象构建一套按顺序访问集合对象元素的方式,而不需要知道数据对象的底层表示。 迭代器模式是与集合共存的,我们只要实现一个集合,就需要同时提供这个集合的迭代器,就像Java中的Collection,List、Set、Map 阅读全文
posted @ 2023-04-17 12:13 刀法如飞 阅读(276) 评论(2) 推荐(1) 编辑
摘要:简介 解释器模式(Interpreter Pattern)是一种行为型设计模式。这种模式实现了一个表达式接口,该接口解释一个特定的上下文。这种模式常被用在 SQL 解析、符号处理引擎等。 解释器模式常用于对简单语言的编译或分析实例中,为了掌握好它的结构与实现,必须先了解编译原理中的“文法、句子、语法 阅读全文
posted @ 2023-04-12 17:57 刀法如飞 阅读(104) 评论(0) 推荐(0) 编辑
摘要:【享元设计模式详解】C/Java/JS/Go/Python/TS不同语言实现简介 享元模式(Flyweight Pattern),是一种结构型设计模式。主要用于减少创建对象的数量,以减少内存占用和提高性能。它摒弃了在每个对象中保存所有数据的方式,通过共享多个对象所共有的相同状态,让你能在有限的内存容量中载入更多对象。 当程序需要生成数量巨大的相似对象时,可能对内存有大量损耗 阅读全文
posted @ 2023-04-10 18:21 刀法如飞 阅读(50) 评论(0) 推荐(0) 编辑
摘要:简介 外观模式(Facade Pattern),也叫门面模式,是一种结构型设计模式。它向现有的系统添加一个高层接口,隐藏子系统的复杂性,这个接口使得子系统更加容易使用。 如果你需要一个指向复杂子系统的直接接口,且该接口的功能有限,则可以使用外观模式。或者需要将子系统组织为多层结构,可以使用外观。 作 阅读全文
posted @ 2023-04-07 15:41 刀法如飞 阅读(66) 评论(0) 推荐(0) 编辑
摘要:过滤器模式(Filter Pattern)或标准模式(Criteria Pattern),是一种结构型模式。这种模式允许使用不同的标准条件来过滤一组对象,并通过逻辑运算的方式把各条件连接起来,它结合多个标准来获得单一标准。 例子将创建一个 Person 对象、Criteria 接口和实现了该接口的实体类,来过滤 Person 对象的列表。Test 类使用 Criteria 对象,基于各种标准和它们的结合来过滤 Person 对象的列表。 阅读全文
posted @ 2023-04-06 12:06 刀法如飞 阅读(365) 评论(0) 推荐(0) 编辑
摘要:简介 装饰器模式(Decorator Pattern)是一种结构型设计模式。将对象放入到一个特殊封装的对象中,为这个对象绑定新的行为,具备新的能力,同时又不改变其原有结构。 如果你希望在无需修改代码的情况下即可使用对象,且希望在运行时为对象新增额外的行为,可以使用装饰模式。或者你用继承来扩展对象行为 阅读全文
posted @ 2023-04-04 17:27 刀法如飞 阅读(209) 评论(0) 推荐(0) 编辑
摘要:【Design Pattern 23种经典设计模式源码大全】C/Java/Go/JS/Python/TS等不同语言实现经典设计模式源码详解,用不同语言来实现,包括Java/JS/Python/TypeScript/Go等。结合实际场景,充分注释说明,每一行代码都经过检验,确保可靠。 设计模式是一个程序员进阶高级的必然选择,不懂设计模式,就像写文章不懂得层次,盖房子没有结构。只有充分懂得设计之道,才能真正设计出良好的软件和系统来。 阅读全文
posted @ 2023-04-03 18:10 刀法如飞 阅读(418) 评论(0) 推荐(1) 编辑
摘要:简介 组合模式(Composite Pattern),又叫部分整体模式,是一种结构型设计模式。用于把一组类似的对象当作一个单一的对象来看。组合模式依据树形结构来组合对象,用不同组件来构建某个部分或整体对象。 如果你需要实现树状对象结构,可以使用组合模式。如果你希望客户端代码以相同方式处理简单和复杂元 阅读全文
posted @ 2023-04-03 18:09 刀法如飞 阅读(102) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示