设计模式
文章平均质量分 78
设计模式理论+实践纯干货!
罗汉爷
每一个不曾起舞的日子,都是对生命的辜负!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java设计模式-职责链模式Chain of Responsibility
编写程序完成学校 OA 系统的采购审批项目:需求。如果金额 小于等于 5000, 由教学主任审批。如果金额 小于等于 30000, 由副校长审批。如果金额 小于等于 10000, 由院长审批。如果金额 超过 30000 以上,有校长审批。思路分析和图解(类图)原创 2023-01-30 08:00:00 · 562 阅读 · 0 评论 -
Java设计模式-策略模式Strategy
StrategyPatternDemo,我们的演示类使用 Context 和策略对象来演示 Context 在它所配置或使用的策略改变时的行为变化。我们将创建一个定义活动的 Strategy 接口和实现了 Strategy 接口的实体策略类。Context 是一个使用了某种策略的类。说明:从上图可以看到,客户 context 有成员变量 strategy 或者其他的策略接口。,至于需要使用到哪个策略,我们可以在构造器中指定。原创 2023-01-29 07:00:00 · 692 阅读 · 0 评论 -
Java设计模式-状态模式State
StatePatternDemo,我们的演示类使用 Context 和状态对象来演示 Context 在状态改变时的行为变化。我们将创建一个 State 接口和实现了 State 接口的实体状态类。Context 是一个带有某个状态的类。原创 2023-01-28 10:49:11 · 569 阅读 · 0 评论 -
Java设计模式-解释器模式Interpreter
我们将创建一个接口 Expression 和实现了 Expression 接口的实体类。定义作为上下文中主要解释器的 TerminalExpression 类。其他的类 OrExpression、AndExpression 用于创建组合式表达式。InterpreterPatternDemo,我们的演示类使用 Expression 类创建规则和演示表达式的解析。原创 2023-01-28 10:44:00 · 717 阅读 · 0 评论 -
Java设计模式-备忘录模式Memento
对原理类图的说明-即(备忘录模式的角色及职责)原创 2023-01-28 09:35:40 · 534 阅读 · 0 评论 -
Java设计模式-中介者模式Mediator
java.lang.reflect.Method invoke()方法。java.util.Timer类scheduleXXX()方法。java并发执行器execute()方法。原创 2023-01-19 10:10:09 · 1833 阅读 · 1 评论 -
Java设计模式-观察者模式Observer
观察者模式是行为设计模式之一。当您对对象的状态感兴趣并希望在任何更改时得到通知时,观察者设计模式非常有用。在观察者模式中,观察另一个对象状态的对象被称为观察者,而被观察的对象则被称为主体。原创 2023-01-18 20:41:44 · 1360 阅读 · 0 评论 -
Java设计模式-迭代器模式Iterator
根据GoF的定义,迭代器模式提供了一种顺序访问聚合对象的元素而不暴露其底层表示的方法。这是一种行为设计模式。顾名思义,迭代器有助于以定义的方式遍历对象集合,这对客户端应用程序很有用。在迭代期间,客户端程序可以根据需求对元素执行各种其他操作。原创 2023-01-18 10:47:12 · 804 阅读 · 0 评论 -
Java 23种设计模式的分类和使用场景
GoF是设计模式的经典名著(中译本名为《设计模式——可复用面向对象软件的基础》)的四位作者,他们分为是:Elich Gamma、Richard Helm、Ralph Johnson、以及John Vlissides。这四个人常被称为Gang of Four, 即四人组,简称GoF。原创 2023-01-18 10:18:21 · 1013 阅读 · 0 评论 -
Java设计模式-访问者模式Visitor
我们将创建一个定义接受操作的ComputerPart接口。键盘、鼠标、监视器和计算机是实现ComputerPart接口的具体类。我们将定义另一个接口ComputerPartVisitor,它将定义访问者类操作。计算机用具体的访问者做相应的动作。我们的演示类VisitorPatternMo将使用Computer和ComputerPartVisitor类来演示访问者模式的使用。定义具体的访问者,实现访问者接口。创建具体的元素类,实现上面的接口。原创 2023-01-15 08:30:00 · 698 阅读 · 0 评论 -
Java设计模式-命令模式Command
前者打开文本文件,后者保存文本文件。可以清楚地看到命令对象的功能:TextFileOperation 命令封装了打开和保存文本文件所需的所有信息,包括接收器对象、要调用的方法和参数(在这种情况下,不需要参数,但可以)。在我们的示例中,很明显,必须有一个额外的组件负责调用命令对象并通过命令的 execute() 方法执行它们。命令是一个对象,其作用是存储执行操作所需的所有信息,包括要调用的方法、方法参数和实现该方法的对象(称为接收器)。调用程序是一个对象,它知道如何执行给定的命令,但不知道命令是如何实现的。原创 2023-01-14 19:24:40 · 1400 阅读 · 0 评论 -
Java设计模式-模板模式Template
选材、浸泡和放到豆浆机打碎这几个步骤对于制作每种口味的豆浆都是一样的(红豆、花生豆浆。制作豆浆的流程 选材—>添加配料—>浸泡—>放到豆浆机打碎。通过添加不同的配料,可以制作出不同口味的豆浆。原创 2023-01-13 16:57:34 · 1861 阅读 · 0 评论 -
Java设计模式-代理模式Proxy
这篇文章中主要介绍了代理模式的两种实现:静态代理以及动态代理。涵盖了静态代理和动态代理实战、静态代理和动态代理的区别、JDK 动态代理和 Cglib 动态代理区别等内容。原创 2023-01-13 15:45:29 · 737 阅读 · 0 评论 -
Java设计模式-外观模式Facade
【代码】Java设计模式-外观模式Facade。原创 2023-01-11 15:32:54 · 1380 阅读 · 0 评论 -
Java设计模式-组合模式Composite
【代码】Java设计模式-组合模式Composite。原创 2023-01-11 14:49:21 · 700 阅读 · 0 评论 -
Java设计模式-装饰者模式Decorator
装饰者模式的核心思想是通过创建一个装饰对象(即装饰者),动态扩展目标对象的功能,并且不会改变目标对象的结构,提供了一种比继承更灵活的替代方案。需要注意的是,装饰对象要与目标对象实现相同的接口,或继承相同的抽象类;另外装饰对象需要持有目标对象的引用作为成员变量,而具体的赋能任务往往通过带参构造方法来完成。原创 2023-01-11 09:54:19 · 1290 阅读 · 0 评论 -
Java设计模式-桥接模式Bridge
桥接模式(Bridge 模式)是指:将实现与抽象放在两个不同的类层次中,使两个层次可以独立改变。是一种结构型设计模式Bridge 模式基于类的最小设计原则,通过使用封装、聚合及继承等行为让不同的类承担不同的职责。它的主要特点是把抽象(Abstraction)与行为实现(Implementation)分离开来,从而可以保持各部分的独立性以及应对他们的功能扩展。类图Client 类:桥接模式的调用者。原创 2023-01-10 11:55:45 · 606 阅读 · 0 评论 -
Java设计模式-适配器模式Adapter
Adapter 类,通过继承 src 类,实现 dst 类接口,完成 src->dst 的适配。基本思路和类的适配器模式相同,只是将 Adapter 类作修改,不是继承 src 类,而是持有 src 类的实例,以解决兼容性的问题。即:持有 src 类,实现 dst 类接口,完成 src->dst 的适配根据“合成复用原则”,在系统中尽量使用关联关系(聚合)来替代继承关系。对象适配器模式是适配器模式常用的一种。原创 2023-01-09 21:00:57 · 1184 阅读 · 0 评论 -
Java设计模式-原型模式Prototype
当我们有一个类的实例(Prototype)并且我们想通过复制原型来创建新对象时,通常使用Prototype模式。原型模式是一种创建型设计模式。能够复制已有对象, 而又无需使代码依赖它们所属的类。原创 2023-01-09 12:08:43 · 455 阅读 · 0 评论 -
Java设计模式-单例模式Singleton
所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)。比如 Hibernate 的 SessionFactory,它充当数据存储源的代理,并负责创建 Session 对象。SessionFactory 并不是轻量级的,一般情况下,一个项目通常只需要一个 SessionFactory 就够,这是就会使用到单例模式。原创 2023-01-08 11:28:28 · 553 阅读 · 0 评论 -
UML类图入门实战
AmaterasUML 是一个用于 Eclipse 的轻量级 UML 和 ER 图编辑器。原创 2023-01-07 20:19:09 · 689 阅读 · 0 评论 -
基于角色的权限控制(RBAC)介绍
什么是RBACRBAC(Role-Based Access Control)基于角色的权限控制。其基本思想是,对系统操作的各种权限不是直接授予具体的用户,而是在用户集合与权限集合之间建立一个角色集合。每一种角色对应一组相应的权限。一旦用户被分配了适当的角色后,该用户就拥有此角色的所有操作权限。有什么好处这样做的好处是,不必在每次创建用户时都进行分配权限的操作,只要分配用户相应的角色即可,而且角色的权限变更比用户的权限变更要少得多,这样将简化用户的权限管理,减少系统的开销。RBAC系统都包含哪些模原创 2021-04-13 19:45:03 · 1224 阅读 · 2 评论 -
Java设计模式之工厂模式
内容整理自《大话设计模式》1.简单工厂模式属于创建型模式,又叫做静态工厂方法模式,不属于23种GOF设计模式之一。是由一个工厂对象决定创建出哪一种产品类的实例。实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。作用:将“类实例化的操作”与“使用对象的操作”分开,让使用者不用知道具体参数就可以实例化出所需要的“产品”类,从而避免...原创 2019-11-30 00:49:40 · 395 阅读 · 0 评论
分享