设计模式(二十三)-解释器模式(Interpreter Pattern)——语法规则也是类

解释器模式(Interpreter Pattern)提供了评估语言的语法或表达式的方式,它属于行为型模式。这种模式实现了一个表达式接口,该接口解释一个特定的上下文。这种模式被用在 SQL 解析、符号处理引擎等。Node.javapackage com.test.dp.Interpreter.Sam...

2018-02-11 17:29:03

阅读数:41

评论数:0

设计模式(二十二)-命令模式(Command Pattern)——命令也是类

命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。Command.javapackage com.test.dp.Command.Sa...

2018-02-11 09:21:36

阅读数:94

评论数:0

设计模式(二十一)-代理模式(Proxy Pattern)——只在必要时生成实例

在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。Printer.javapackage com.test.dp.Proxy.Sample; //表示带名字的打印机的类(本人) public class Printer implements Printable { p...

2018-02-10 17:48:22

阅读数:79

评论数:0

设计模式(二十)-享元模式(Flyweight Pattern)——共享对象,避免浪费

当程序中需要大量对象时,如果都是用new关键字来分配内存,将会消耗大量的内存空间。享元模式(Flyweight Pattern)通过尽量共享实例变量来避免new出实例。当需要某个实例时,并不总是通过new关键字来生成实例,而是尽量公用已经存在的实例。这就是Flyweight模式的核心内容。big0...

2018-02-09 09:11:20

阅读数:21

评论数:0

设计模式(十九)-状态模式(State Pattern)——用类表示状态

在面向对象变成中,是用类表示对象的。在状态模式(State Pattern)中,我们用类来表示状态。State.javapackage com.test.dp.State.Sample; //表示金库状态的接口 public interface State { public abstra...

2018-02-08 17:36:32

阅读数:33

评论数:0

设计模式(十八)-备忘录模式(Memento Pattern)——保存对象状态

备忘录模式(Memento Pattern)可以引入表示实例状态的角色,可以在保存和恢复实例时有效的防止对象的封装性遭到破坏。使用备忘录模式可以实现应用程序的一下功能:1、Undo(撤销)2、Redo(重做)3、History(历史记录)4、Snapshot(快照)备忘录模式就是一个事先将某个时间...

2018-02-08 09:03:16

阅读数:74

评论数:0

设计模式(十七)-观察者模式(Observer Pattern)——发送状态变化通知

在观察者模式(Observer Pattern)中,当观察对象的状态发生变化时,回通知给观察者。观察者模式适用于根据对象状态进行相应处理的场景。 Observer.java package com.test.dp.Observer.Sample; //表示观察者的接口 public in...

2018-02-07 13:21:25

阅读数:24

评论数:0

设计模式(十六)-中介者模式(Mediator Pattern)——只有一个仲裁者

中介者模式(Mediator Pattern)中,组员向仲裁者报告,仲裁者向组员下达指示。 Mediator.java package com.test.dp.Mediator.Sample; //定义“仲裁者”的接口(API)的接口 public interface Mediator ...

2018-02-07 09:39:44

阅读数:37

评论数:0

设计模式(十五)-外观模式(Facade Pattern)——推卸责任

外观模式(Facade Pattern)可以为互相关联在一起的错综复杂的类整理出高层接口。 Database.java package com.test.dp.Facade.Sample.pagemaker; import java.io.FileInputStream; import ...

2018-02-06 13:58:43

阅读数:32

评论数:0

设计模式(十四)-责任链模式(Chain of Responsibility Pattern)——推卸责任

责任链模式(Chain of Responsibility Pattern)可以将多个对象组成一条职责链,然后按照它们在职责链上的顺序一个一个的找出到底应该谁来负责处理。 Trouble.java package com.test.dp.ChainOfResponsibility.Samp...

2018-02-06 09:00:08

阅读数:101

评论数:0

设计模式(十三)-访问者模式(Visitor Pattern)——访问数据结构并处理数据

访问者模式(Visitor Pattern)中,数据结构与处理被分离开来。 Visitor.java package com.test.dp.Visitor.Sample; //表示访问者的抽象来,用它来访问文件和文件夹 public abstract class Visitor { ...

2018-02-05 09:23:39

阅读数:544

评论数:2

设计模式(十二)-装饰器模式(Decorator Pattern)——装饰边框与被饰物的一致性

装饰器模式(Decorator Pattern)能不断的为对象添加装饰。 Display.java package com.test.dp.Decorator.Sample; //抽象类,用于显示字符串 public abstract class Display { public a...

2018-02-02 09:19:30

阅读数:153

评论数:0

设计模式(十一)-组合模式(Composite Pattern)——容器与内容的一致性

组合模式(Composite Pattern)是能够使容器与内容具有一致性,创造出递归结构的模式。 Entry.java package com.test.dp.Composite.Sample; //抽象类,表示“目录条目”,用来实现File和Directory的一致性 public ...

2018-02-01 09:07:22

阅读数:31

评论数:0

设计模式(十)-策略模式(Strategy Pattern)——整体的替换算法

策略模式(Strategy Pattern)可以整体的替换算法的实现部分。 Hand.java package com.test.dp.Strategy.Sample; //算法需要计算的对象,这里代表“手势” public class Hand { public static fi...

2018-01-31 09:25:58

阅读数:156

评论数:0

设计模式(九)-桥接模式(Bridge Pattern)——将类的功能层次结构与实现层次结构分离

桥接模式(Bridge Pattern)的作用是在“类的功能层次结构”和“类的实现层次结构”之间搭建桥梁。 类的功能层次结构是为了增加新功能而产生的层次结构。 1、父类中具有基本功能; 2、在子类中增加新的功能; 类的实现层次结构的不是方便我们增加新的方法,而是为了实现下面这样的任务分担:...

2018-01-30 09:26:42

阅读数:126

评论数:0

设计模式(八)-抽象工厂模式(Abstract Factory Pattern)——将关联零件组装诚产品

抽象工厂的工作是将“抽象零件”组装为“抽象产品”。 抽象工厂模式(Abstract Factory Pattern)不关心零件的具体实现,而是只关心接口(API)。仅使用该接口(API)将零件组装成为产品。 抽象工厂模式中,子类负责方法的具体实现,子类这一层有具体的工厂,他负责将具体的零件组装...

2018-01-29 16:50:26

阅读数:41

评论数:0

设计模式(七)-建造者模式(Builder Pattern)——组装复杂的实例

建造者模式(Builder Pattern)用于组装具有复杂结构的实例。 Builder.java package com.test.dp.Builder.Sample; //编写文档的抽象类 public abstract class Builder { public abst...

2018-01-29 09:03:12

阅读数:102

评论数:0

设计模式(六)-原型模式(Prototype Pattern)——通过复制生成实例

原型模式(Prototype Pattern)是不根据类来生成实例,而是根据实例来生成新实例的模式。 在以下情况,我们不能根据类来生成实例,而要根据现有的实例来生成新的实例: 1、对象种类繁多,无法将它们整合到一个类中时;  需要处理的对象太多,如果将它们分别作为一个类,必须要编写很多的...

2018-01-26 09:32:52

阅读数:157

评论数:0

设计模式(五)-单例模式(Singleton Pattern)——只有一个实例

程序运行时,通常回生成很多实例。但是,当我们想在程序中表示某个东西只会存在一个时,就会有“只能创建一个实例”的需求。 当然,只要我们多加注意,只new一次也能达到目的。但是,我们肯定都不想“多加注意”,那应当怎么做呢? 1、想确保任何情况下都绝对只有一个实例; 2、想在程序上表现出“只有一个...

2018-01-25 09:36:12

阅读数:142

评论数:0

设计模式(四)-工厂模式(Factory Method Pattern/Factory Pattern)——将实例的生成交给子类

Factory有“工厂”的意思.用Template Method模式来构建生成实例的工厂,这就是Factory Method模式。 在工厂模式中,父类决定实例的生成方式,但并不决定索要生成的具体类,具体的处理全部交给子类负责。这样就可以将生成实例的框架和实际负责生成实例的类解耦。 Produc...

2018-01-24 09:44:41

阅读数:68

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭