上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 46 下一页
摘要: 定义 将抽象部分和它的实现部分分离,使它们都可以独立地变化。在现实生活中,某些类有两个或多个维度的变化, 如图形既可以按形状分,又可以按颜色分,如何画不同形状不同颜色的图形呢,如果用继承方式,m 种形状 n 种颜色的图形就有 m * n 种, 不但对应的子类很多,而且扩展困难,桥接模式就能很好的解决 阅读全文
posted @ 2021-09-15 09:38 strongmore 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 桥接方法 定义 在源方法和目标方法之间创建一个中间层,通常作为泛型的类型擦除过程的一部分。 第一个例子 public class Person implements Comparable<Person> { @Override public int compareTo(Person o) { ret 阅读全文
posted @ 2021-09-14 09:56 strongmore 阅读(813) 评论(0) 推荐(0) 编辑
摘要: 定义 使每个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求, 直到有一个对象处理它为止。如公司员工请假,可以批假的领导有部门负责人、副总经理、总经理等,但每个领导可以批准的天数不同, 员工只需要提交申请,不需要知道最终由谁批准。 结构 阅读全文
posted @ 2021-09-13 10:05 strongmore 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 定义 动态地给一个对象添加一些额外的功能,就增加功能来说,装饰者模式比生成子类更为灵活。 如我们生活中的早餐煎饼,可以加鸡蛋,加香肠,加蔬菜,可以很灵活的组合。 结构 Component,抽象组件,定义为一个接口来规范被装饰的对象。 ConcreteComponent,具体的组件对象,实现组件接口, 阅读全文
posted @ 2021-09-12 10:29 strongmore 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 定义 给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。这里的文法就是语言的语法规则。 结构 AbstractExpression,抽象解释器角色,定义解释器的接口,约定解释器的解释操作。 TerminalExpression,终结符解释器,用来实现语法 阅读全文
posted @ 2021-09-11 16:09 strongmore 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 前言 今天在学习swagger源码时,发现其中使用到了spring-plugin组件,github地址, 这个组件很小众,在其他框架中也使用不多,它被称为最小的插件系统。 简单使用 maven依赖 <dependency> <groupId>org.springframework.plugin</g 阅读全文
posted @ 2021-09-09 20:45 strongmore 阅读(5783) 评论(0) 推荐(0) 编辑
摘要: 定义 运用共享技术有效地支持大量细粒度的对象。如围棋中的黑白棋子,教室中的凳子和桌子,这些对象有很多相似的地方, 如果将其中相同的地方提取出来共享,就能节省大量的系统资源,这就是享元模式的适用场景。 结构 Flyweight,享元接口,可以接收并作用于外部数据。 ConcreteFlyweight, 阅读全文
posted @ 2021-09-08 21:12 strongmore 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 定义 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样以后就可以将该对象恢复到原先保存的状态。 如游戏中的存档,各种编辑器中的后退、撤销功能。 结构 Originator,发起人角色,一个普通的业务处理类,可以根据自身创建备忘录对象,根据备忘录数据恢复自身。 Meme 阅读全文
posted @ 2021-09-07 20:44 strongmore 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 定义 允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。 类似于我们商城下单,订单有各种状态,不同的状态下可以执行不同的操作。 结构 State,状态接口,用来封装与上下文的一个特定状态所对应的行为。 ConcreteState,具体状态实现类,提供对应状态的具体行为处理。 C 阅读全文
posted @ 2021-09-06 21:00 strongmore 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 定义 定义一系列的算法,把它们一个个封装起来,并且使它们可互相替换,本模式使得算法可独立于使用它的客户而变化。 例如我们生活中出行可以选择火车,飞机,私家车等方式,每一种出行方式就可以看做一种策略。 结构 Strategy,策略接口,用来约束一系列具体的策略接口。 ConcreteStrategy, 阅读全文
posted @ 2021-08-30 08:21 strongmore 阅读(180) 评论(0) 推荐(0) 编辑
上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 46 下一页