
gof设计模式
马彼得
平常心
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
优化java责任链模式
1. 首先我们需要先了解一下什么是责任链模式,责任链模式简单而言就是:对一个请求创建一个对象链,每个对象依序检查此请求,并对其进行处理,或者将它传递到对象链中的下一个对象进行处理,依次处理直到链尾。(也就是说当你想对一个请求在需要满足一定条件下进行多次不同的处理时,可采用此模式) 2. 首先我们定义一个抽象类Handler: /** * 处理器抽象类 */ public abstract...转载 2019-11-29 17:14:30 · 604 阅读 · 0 评论 -
观察者
package com.jd.gof.observer; /*** * 观察者 * 定义了一个update()方法,当被观察者调用notifyObservers()方法时,观察者的update()方法会被回调。 * */ public interface Observer { public void update(String message); } package com....原创 2018-07-21 18:32:35 · 162 阅读 · 0 评论 -
策略模式 案例:计算车费
案例:计算车费 思路: 我们提取一个公共Interface来计算费用三个不同类实现计费接口,再用一个公 共类管理三种不同车辆的计费功能 三种车辆费用共同点为计算车费 不同点为车辆类型不同 公交车费 出租车费 小汽车费 1.公共计费接口 /** * 计算价格 * * @author MtmWp */ public abstract interface IPrice ...翻译 2018-08-30 17:34:33 · 813 阅读 · 0 评论 -
Builder模式
模式动机 无论是在现实世界中还是在软件系统中,都存在一些复杂的对象,它们拥有多个组成部分,如汽车,它包括车轮、方向盘、发动机等各种部件。而对于大多数用户而言,无须知道这些部件的装配细节,也几乎不会使用单独某个部件,而是使用一辆完整的汽车,可以通过建造者模式对其进行设计与描述,建造者模式可以将部件和其组装过程分开,一步一步创建一个复杂的对象。用户只需要指定复杂对象的类型就可以得到该对象,而无须知道...翻译 2018-09-17 21:52:15 · 148 阅读 · 0 评论 -
Builder模式--复杂的DEMO--Builder嵌套
优缺点 优点 在建造者模式中, 客户端不必知道产品内部组成的细节,将产品本身与产品的创建过程解耦,使得相同的创建过程可以创建不同的产品对象。 每一个具体建造者都相对独立,而与其他的具体建造者无关,因此可以很方便地替换具体建造者或增加新的具体建造者, 用户使用不同的具体建造者即可得到不同的产品对象。 可以更加精细地控制产品的创建过程。将复杂产品的创建步骤分解在不同的方法中,使得创建过程更...翻译 2018-09-17 22:05:38 · 1005 阅读 · 0 评论 -
代理模式和装饰器模式区别
代理模式与装饰器模式有何区别? 我想有必要对此问题谈一下我的个人理解,若有误导的之处,还请大家指正! 代理模式(Proxy 模式)可理解为:我想做,但不能做,我需要有一个能干的人来帮我做。 装饰器模式(Decorator 模式)可理解为:我想做,但不能做,我需要有各类特长的人来帮我做,但我有时只需要一个人,有时又需要很多人。 它们的区别就是,Proxy 模式需要的是一个能人,而 Decora...转载 2019-02-09 00:07:40 · 2119 阅读 · 2 评论