![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java 设计模式
文章平均质量分 75
陈脩
从猪场到西溪,从事多年电商业务开发
展开
-
Java 设计模式-简单工厂(Simple Factory)
简单工厂模式是类的创建模式,又叫做静态工厂方法模式(Static Factory Method Pattern)目的:封装对象的创建过程,用户只需要传入指定的参数即可获取相应的实例。优点:封装了实例的创建过程,客户端只需要消费实例;进行了责任分割。有一个水果店,中出售两种水果;一种是苹果,一种是橘子;客户只需要指定自己需要的什么什么类型的苹果或者橘子就可以......原创 2014-09-21 14:26:53 · 121 阅读 · 0 评论 -
Java 设计模式-单例模式(Singleton)
什么是单例模式?单例模式就是某个类只有唯一一个实例。单例模式的意图单例模式的意图是为了确保一个类有且仅有一个实例,并且为它提供一个全局的访问点单例模式的要点 一个类只有一个实例类必须自行创建这个实例类自行向系统提供实例常见的单例实现方式饿汉模式饿汉模式在类中声明一个......原创 2014-09-20 23:31:40 · 142 阅读 · 0 评论 -
Java 设计模式-适配器模式(Adapter)
适配器模式,从名字就可以很好的理解该模式。 我们平时使用的电子产品的适配器,就是将我们的生活电压220v 转换为电子产品使用的5V电压。 原本220V电压的生活用电是没有办法作用在电子产品上的,可是我们增加了一个适配器后就可以完美的解决了这个问题。 适配器模式(Adapter Pattern )就是把一个类的接口变换成用户期待的另一种接口,从而使原本因接口不匹配无法在一起...2014-09-23 22:42:50 · 109 阅读 · 0 评论 -
Java 设计模式-策略模式(Strategy Pattern)
策略模式(Strategy Pattern)属于对象行为模式。其作用是针对一组算法,将每个算法封装到具有共同接口的独立类中,从而使它们可以相互替换。策略模式的意图是将可以互换的方法封装在各自的对立类中并且让每个方法都实现一个共同的接口。策略模式(Strategy pattern)中涉及到三个角色:环境(Context)角色:持有一个St......原创 2014-11-06 21:27:59 · 159 阅读 · 0 评论 -
Java 设计模式-命令模式(Command Pattern)
命令模式(Command Pattern)是对象的行为模式,其意图是将请求封装在对象的内部。命令模式涉及的角色有:客户端(Client )角色:负责创建一个具体的命令,并指定命令的接受者命令(Command)角色:定义一个命令公共的操作接口具体命令(Concrete Command)角色:定义一个命令的接收者和行为之间的耦合。实现命令接口的公共接口,调用接......原创 2014-11-21 17:40:30 · 165 阅读 · 0 评论 -
Java 设计模式-观察者(Observer )
观察者模式(Observer Pattern)的意图是在多个对象之间定义一对多的依赖关系,当一个对象的状态改变时,会通知依赖于他的对象,并根据状态做出想用的反应。 观察者模式(Observer Pattern)涉及的角色有:抽象主题(Abstract Subject)角色:抽象主题角色把所有对观察者对象的引用保存在一个聚集(比如ArrayList对象)里,每个主题...2014-11-24 17:28:22 · 140 阅读 · 0 评论 -
Java 设计模式-桥接模式(Bridge)
桥接模式(Bridge)是关注抽象类的的设计模式。桥接模式的意图是将抽象类与抽象方法的实现相互分离来实现解耦,以便二者可以相互独立地变化。 比如面馆的面条,有的人喜欢吃的辣一点,有人喜欢淡一点;有的人爱吃牛肉面,有人爱吃三鲜面。不管是什么面都是面条。但是每种面条的口味可以按个人的喜好进行调节。这个场景就可以使用桥接模式很好的解决。/** * 面条的抽象类 * @au...2014-09-26 17:45:46 · 125 阅读 · 0 评论 -
Java 设计模式-工厂方法(Factory Method)
在创建类时,通常可以定义多个构造方法,然后使用它们创建类的实例。 但是有的时候,客户端仅仅需要使用该实例却不关系该实例究竟是从哪个类创建而来。 工厂方法模式的意图就是定义一个用于创建对象的接口,并返回类的实例。 在java 中Iterator就是一个典型的示例;在Collection中定义一个创建对象的接口 iterator。 在子类中实现了该接口。在使用...2014-09-22 09:16:20 · 101 阅读 · 0 评论 -
Java 设计模式-原型模式(Prototype)
客户端如果需要使用一个类的实例时通常是使用这个类的构造方法以及setter 方法去构建这个类的实例。但是在某些情形下,可能不允许直接调用构造方法或者是为了解决Java 的值引用问题。 在设计模式中 建造者模式、工厂方法、抽象工厂都可以避免客户端直接调用构造方法。同样原型模式也可以解决这个问题。 首先需要知道在JAVA 中所有的引用都是值引用。 /** * ...2014-09-23 09:38:49 · 163 阅读 · 0 评论 -
Java 设计模式-代理模式(Proxy Pattern)
所谓代理,就是一个 人或者一个机构代表另一个人或者机构采取行动。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 代理模式的角色:抽象主题角色:声明了真实主题和代理主题角色的共同接口,这样在任何使用真实主题的地方都可以使用代理主题。代理主题角色:代理主题角色持有真实主题角色的引用,从而可以在任何使用操作...2014-10-26 08:11:39 · 97 阅读 · 0 评论 -
Java 设计模式-合成模式(Composite)
合成模式(Composite)是一组对象的组合,这些对象可以是容器对象,表现为组的概念;另外一些对象则代表了单个对象,称为叶子对象。 组对象可以包含叶子对象也可以包含其他组对象。组对象和叶子对象定义相同的行为。 合成模式(Composite)的意图就是为了保证客户端调用单对象和调用组合对象的一致性,也就需要组合对象和单个对象需要共享同一个接口。 在对组合对象建模时,为...2015-01-23 21:20:09 · 128 阅读 · 0 评论 -
Java 设计模式-建造者模式(Builder)
建造者模式(Builder Pattern)是属于创建型模式,它的意图是:将一个复杂的对象的创建和表示分离,是的同样的构建过程可以创建不同的表示。 如果有一个类Test有1个属性 name,不管我们如何穿件这个对象的实例都不会很麻烦。public class Test { private String name; public Test(Strin...原创 2015-03-02 15:21:13 · 123 阅读 · 0 评论 -
Java 设计模式-装饰器模式(Decorator)
装饰器模式(Decorator Pattern)又名包装模式(Wrapper Pattern)。装饰模式以对客户透明的方式扩展对象的功能,是继承关系的一种替代。换言之,客户端不会觉得对象在装饰前和装饰后有什么不同。 装饰器模式(Decorator Pattern)中的各个角色:抽象构件(Componet)角色:给出一个抽象接口,规范准备接收附加责任的对象。具体构件...2014-10-25 13:21:24 · 128 阅读 · 0 评论 -
Java 设计模式-抽象工厂(Abstract Factory)
在设计模式一书中是这样描述抽象工厂的意图的:提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的实现类。使用场景:一个系统要独立于它的产品创建、组合和表示时,且一个该系统提供多个产品系列,系统每次仅消费其中一个系类时可以使用抽象工厂模式。 假设现在手机厂商在生产手机(phone)的同时也生产平板(Pad)(这两个产品是一个系列,都是移动端产品),简单的定......原创 2015-02-28 17:37:12 · 135 阅读 · 0 评论 -
Java 设计模式-模板方法模式(Template Method)
模板方法模式(Template Method Pattern)的定义是:定义一个操作中的算法骨架,将一些易变的步骤延迟到子类中,使得子类在不改变算法结构即可重定义该算法的默写特定步骤。也就是说将一下不变的方法抽象到父类中,将一些业务相关的方法延迟到子类中。有一个业务需要检查参数是否合法,结果是否符合预期,以及一些具体业务相关的检查。/** * * @aut......原创 2014-10-21 23:00:31 · 166 阅读 · 0 评论 -
Java 设计模式-享元模式(Flyweight)
享元模式(Flyweight Pattern)是对象的结构模式。享元模式以共享的方式高效地支持大量细粒度对象的创建。享元对象能够做到共享的关键是区分内蕴状态和外蕴状态;内蕴状态就是指不随环境的改变而改变、可以共享的状态,外蕴状态是随环境的改变而改变,不可以共享的状态;因为外蕴状态不可以共享所以外蕴状态的保存时由客户端进行保存的,在需要的时候再传入到享元对象内部。在日......原创 2015-03-26 16:37:43 · 205 阅读 · 0 评论 -
Java 设计模式-状态模式模式(State)
状态模式(State Pattern)是对象行为模式的一种;它的意图是:允许一个对象在其内部状态改变的时改变它的行为。主要角色有: context(环境),State(抽象的状态角色),ConcreteState(真实的状态角色)状态模式使用的场景:一个对象的行为依赖于它所处于的状态,对象的行为必须随着其状态的改变而改变对象在某个方法中依赖于......原创 2015-03-06 14:44:49 · 302 阅读 · 0 评论