![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
设计模式
King.W.
这个作者很懒,什么都没留下…
展开
-
设计模式(1)之简单工厂模式
1. 什么是简单工厂模式简单工厂模式属于类的创建型模式,又叫做静态工厂方法模式。通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。2. 工厂模式中包含的角色及其职责1.工厂(Creator)角色简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类可以被外界直接调用,创建所需的产品对象。2.抽象(Product)角色简单工厂模式所创建的所有对象的父类,它负责描述原创 2016-04-12 19:32:32 · 351 阅读 · 0 评论 -
设计模式(17)之中介者模式
OK,我们先来看一个找对象的例子:简单说下,Person类的每个实例之间,要发生关系(好猥琐~~~)… 其中,Person类中的抽象方法getPartner()在Man和Woman子类中都有自己的实现,当Man找到Woman且他们的property值相等时,才算配对成功,反之……..首先,有一个Person抽象类://Person.javapackage com.wj.ex1;public abs原创 2016-12-26 22:40:44 · 341 阅读 · 0 评论 -
设计模式(16)之解释器模式
一、什么是解释器模式Interpreter模式也叫解释器模式,是行为模式之一,它是一种特殊的设计模式,它建立一个解释器,对于特定的计算机程序设计语言,用来解释预先定义的文法。简单地说,Interpreter模式是一种简单的语法解释器构架。二、解释器模式应用场景当有一个语言需要解释执行, 并且你可将该语言中的句子表示为一个抽象语法树时,可使用解释器模式。而当存在以下情况时该模式效果最好: 该原创 2016-12-26 17:20:09 · 308 阅读 · 0 评论 -
设计模式(15)之适配器模式
一、什么是适配器模式Adapter模式也叫适配器模式,是构造型模式之一,通过Adapter模式可以改变已有类或外部类)的接口形式。二、适配器模式应用场景在大规模的系统开发过程中,我们常常碰到诸如以下这些情况:我们需要实现某些功能,这些功能已有还不太成熟的一个或多个外部组件,如果我们自己重新开发这些功能会花费大量时间;所以很多情况下会选择先暂时使用外部组件,以后再考虑随时替换。但这样一来,会带来一个原创 2016-12-14 17:34:55 · 294 阅读 · 0 评论 -
设计模式(13)之组合模式
1. 什么是组合模式 Composite模式也叫组合模式,是构造型的设计模式之一。通过递归手段来构造树形的对象结构,并可以通过一个对象来访问整个对象树。2. 组合模式的结构3. 组合模式的角色和职责Component (树形结构的节点抽象) - 为所有的对象定义统一的接口(公共属性,行为等的定义) - 提供管理子节点对象的接口方法 - [可选]提供管理父节点对象的接口方法Leaf原创 2016-04-24 19:43:41 · 408 阅读 · 0 评论 -
设计模式(12)之外观模式
1. 什么是外观模式 Facade模式也叫外观模式,是由GoF提出的23种设计模式中的一种。Facade模式为一组具有类似功能的类群,比如类库,子系统等等,提供一个一致的简单的界面。这个一致的简单的界面被称作facade2. 外观模式的结构 3. 外观模式的角色和职责Facade: 为调用方定义简单的调用接口。 Clients: 调用者。通过Facade接口调用提供某功原创 2016-04-24 13:30:30 · 312 阅读 · 0 评论 -
设计模式(11)之代理模式
1. 什么是代理模式 Proxy模式又叫做代理模式,是构造型的设计模式之一,它可以为其他对象提供一种代理(Proxy)以控制对这个对象的访问。 所谓代理,是指具有与代理元(被代理的对象)具有相同的接口的类,客户端必须通过代理与被代理的目标类交互,而代理一般在交互的过程中(交互前后),进行某些特别的处理。2. 代理模式的结构 3. 代理模式的角色和职责subject(抽象主题角色)原创 2016-04-24 13:05:37 · 346 阅读 · 0 评论 -
设计模式(10)之享元模式
1. 什么是享元模式 Flyweight模式也叫享元模式,是构造型模式之一,它通过与其他类似对象共享数据来减小内存占用。2.享元模式的结构3.享元模式的角色和职责抽象享元角色: 所有具体享元类的父类,规定一些需要实现的公共接口。具体享元角色: 抽象享元角色的具体实现类,并实现了抽象享元角色规定的方法。 享元工厂角色: 负责创建和管理享元角色。先来个简单的原创 2016-04-23 16:32:41 · 319 阅读 · 0 评论 -
设计模式(9)之观察者模式
1. 什么是观察者模式 Observer模式是行为模式之一,它的作用是当一个对象的状态发生变化时,能够自动通知其他关联对象,自动刷新对象状态。Observer模式提供给关联对象一种同步通信的手段,使某个对象与依赖它的其他对象之间保持状态同步。2. 观察者模式的结构 3. 观察者模式的角色和职责<1> Subject(被观察者) 被观察的对象。当需要被观察的状态发生变化时,需要通知队列原创 2016-03-11 20:12:26 · 559 阅读 · 0 评论 -
设计模式(8)之策略模式
今天,我们换个方式。我先出一个题目:某大型超市要搞促销活动,简单起见就搞两种吧,一种是打八折,另一种是满200减50。请你写一个程序,要求是,客户端可以选择这两种打折方式,输入金额,输出最终付款金额。注意看题目,大型超市哦,代码要写得优雅点。好了,我先来写个。既然有两种打折方式,嘿,这个简单,二话不说,抽象出来一个基类。//Strategy.java//打折接口public interface原创 2016-04-21 21:54:23 · 405 阅读 · 0 评论 -
设计模式(6)之建造者模式
什么是建造者模式 Builder模式也叫建造者模式或者生成器模式,是由GoF提出的23种设计模式中的一种。Builder模式是一种对象创建型模式之一,用来隐藏复合对象的创建过程,它把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动态地创建具有复合属性的对象。建造者模式的结构 ConcreteBuilder负责具体子类(一般是复合对象)的创建,子类对象中的成员变量可能是别的类的对象。这里创原创 2016-04-19 19:36:21 · 333 阅读 · 0 评论 -
设计模式(5)之原型模式
什么是原型模式? Prototype模式是一种对象创建型模式,它采取复制原型对象的方法来创建对象的实例。使用Prototype模式创建的实例,具有与原型一样的数据。原型模式的特点 <1> 由原型对象自身创建目标对象。也就是说,对象创建这一动作发自原型对象本身。 <2> 目标对象是原型对象的一个克隆。也就是说,通过Prototype模式创建的对象,不仅仅与原型对象具有相同的结构,还与原型对象具原创 2016-04-19 18:24:30 · 1193 阅读 · 4 评论 -
设计模式(4)之单例模式
1. 什么是单例模式 单例模式是一种对象创建型模式,使用单例模式,可以保证为一个类只生成唯一的实例对象。也就是说,在整个程序空间中,该类只存在一个实例对象。 其实,GoF对单例模式的定义是:保证一个类、只有一个实例存在,同时提供能对该实例加以访问的全局访问方法。 2. 为什么要使用单例模式呢? 在应用系统开发中,我们常常有以下需求: - 在多个线程之间,比如servlet环境,共享原创 2016-04-16 21:54:17 · 481 阅读 · 0 评论 -
工厂模式的应用--简单计算器
如果让你写一个简单的计算器,初学者:辣还不简单,看我的:import java.util.Scanner;public class MainClass { public static void main(String[] args) { System.out.println("请输入第一个操作数:"); Scanner scanner = new Scanner(原创 2016-04-16 20:58:21 · 458 阅读 · 0 评论 -
设计模式(7)之装饰模式
什么是装饰模式 装饰( Decorator )模式又叫做包装模式。通过一种对客户端透明的方式来扩展对象的功能,是继承关系的一个替换方案。装饰模式的结构 装饰模式的角色和职责抽象组件角色: 一个抽象接口,是被装饰类和装饰类的父接口。 具体组件角色:为抽象组件的实现类。 抽象装饰角色:包含一个组件的引用,并定义了与抽象组件一致的接口。 具体装饰角色:为抽象装饰角色的实现类。负责 具体的装饰。原创 2016-04-20 16:40:07 · 849 阅读 · 2 评论 -
设计模式(14)之桥接模式
1. 什么是桥接模式 Bridge 模式又叫做桥接模式,是构造型的设计模式之一。Bridge模式基于类的最小设计原则,通过使用封装,聚合以及继承等行为来让不同的类承担不同的责任。它的主要特点是把抽象(abstraction)与行为实现(implementation)分离开来,从而可以保持各部分的独立性以及应对它们的功能扩展。2. 桥接模式的结构 3. 桥接模式的角色和职责Client原创 2016-04-27 20:22:41 · 273 阅读 · 0 评论 -
设计模式(3)之抽象工厂模式
1. 什么是抽象工厂模式 抽象工厂模式是所有形态的工厂模式中最为抽象和最其一般性的。抽象工厂模式可以向客户端提供一个接口,使得客户端在不必指定产品的具体类型的情况下,能够创建多个产品族的产品对象。2. 产品族和产品等级结构 产品等级就是每一个实例对象,产品族就是对这些实例对象的分类。例如,苹果、香蕉、梨子是产品等级结构的话,那么产品族可以根据这些水果的产地分为南方、北方、温室等等,这样就有北原创 2016-04-14 13:52:13 · 382 阅读 · 0 评论 -
设计模式(2)之工厂方法模式
1. 什么是工厂方法模式工厂方法模式同样属于类的创建型模式又被称为多态工厂模式 。工厂方法模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。2. 工厂方法模式中包含的角色及其职责<1> 抽原创 2016-04-13 14:45:15 · 289 阅读 · 0 评论 -
设计模式(18)之职责链模式
给大家出一个题:编写一个程序,把大象放进冰箱,要体现出操作的步骤顺序。看我给大家显摆一个:1.创建一个Handle对象//SaveElephantHandle.javapackage 职责链模式;public abstract class SaveElephantHandle { public abstract void SaveElephant();}2.创建各步骤对象//OpenFr原创 2017-03-31 20:40:32 · 391 阅读 · 0 评论