![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java设计模式
OS_windows7
山不厌高,水不厌深,且行且珍惜。
展开
-
java设计模式_简单工厂模式
本教系列课程资源来自北风网 一、什么是简单工厂模式 简单工厂模式属于类的创建型模式,又叫做静态 工厂方法模式。通过专门定义一个类来负责创建 其他类的实例,被创建的实例通常都具有共同的 父类。二、模式中包含的角色及其职责 1.工厂(Creator)角色简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类可以被外界直接调用,创建所需的产品对象。 2.抽象(Product)角翻译 2016-07-23 19:25:17 · 217 阅读 · 0 评论 -
java设计模式_中介者模式
一、什么是中介者模式 Mediator模式也叫中介者模式,是由GoF提出的23种 软件设计模式的一种。Mediator模式是行为模式之一, 在Mediator模式中,类之间的交互行为被统一放在 Mediator的对象中,对象通过Mediator对象同其他对象 交互,Mediator对象起着控制器的作用。二、中介者模式的结构 三、中介者模式的角色和职责 mediator翻译 2016-08-06 10:03:24 · 219 阅读 · 0 评论 -
java设计模式_职责链模式
一、什么是职责链模式 Chain of Responsibility(CoR)模式也叫职 责链模式或者职责连锁模式,是行为模式之一, 该模式构造一系列分别担当不同的职责的类的对 象来共同完成一个任务,这些类的对象之间像链 条一样紧密相连,所以被称作职责链模式。二、职责链模式的应用场景 例1:比如客户Client要完成一个任务,这个任务包括a,b,c,d四个部分。首先客户Client翻译 2016-08-06 12:53:21 · 220 阅读 · 0 评论 -
java设计模式_迭代模式
一、什么是迭代模式 Iterator模式也叫迭代模式,是行为模式之 一,它把对容器中包含的内部对象的访问委让给 外部类,使用Iterator(遍历)按顺序进行遍历 访问的设计模式。二、不使用迭代模式的应用 在应用Iterator模式之前,首先应该明白Iterator 模式用来解决什么问题。或者说,如果不使用 Iterator模式,会存在什么问题。 1.由容器自己实现顺序遍翻译 2016-08-06 14:43:54 · 299 阅读 · 0 评论 -
java设计模式_模板方法模式
一、什么是模板方法模式 Template Method模式也叫模板方法模式,是 行为模式之一,它把具有特定步骤算法中的某些 必要的处理委让给抽象方法,通过子类继承对抽 象方法的不同实现改变整个算法的行为。二、模板方法模式的应用场景 Template Method模式一般应用在具有以下条件 的应用中: - 具有统一的操作步骤或操作过程 - 具有不同的操作细节 - 存在翻译 2016-08-07 19:29:33 · 242 阅读 · 3 评论 -
java设计模式_备忘录模式
一、什么是备忘录模式 Memento模式也叫备忘录模式,是行为模式之 一,它的作用是保存对象的内部状态,并在需要 的时候(undo/rollback)恢复对象以前的状态。二、备忘录模式的应用场景 如果一个对象需要保存状态并可通过undo或rollback等 操作恢复到以前的状态时,可以使用Memento模式。1)一个类需要保存它的对象的状态(相当于Originator角色)翻译 2016-08-07 20:13:33 · 279 阅读 · 3 评论 -
java设计模式_状态模式
一、什么是状态模式 State模式也叫状态模式,是行为设计模式的 一种。State模式允许通过改变对象的内部状态 而改变对象的行为,这个对象表现得就好像修改 了它的类一样。二、状态模式的应用场景 状态模式主要解决的是当控制一个对象状态转 换的条件表达式过于复杂时的情况。把状态的判 断逻辑转译到表现不同状态的一系列类当中,可 以把复杂的判断逻辑简化。三、状态模式的结构 四翻译 2016-08-09 21:20:15 · 359 阅读 · 0 评论 -
java设计模式_命令模式
一、什么是命令模式 Command模式也叫命令模式 ,是行为设计模 式的一种。Command模式通过被称为 Command的类封装了对目标对象的调用行为以 及调用参数。二、命令模式的应用场景 在面向对象的程序设计中,一个对象调用另一个对象, 一般情况下的调用过程是:创建目标对象实例;设置调 用参数;调用目标对象的方法。但在有些情况下有必要使用一个专门的类对这种调用 过程加以封翻译 2016-08-09 22:09:27 · 255 阅读 · 0 评论 -
java设计模式_访问者模式
一、什么是访问者模式 Visitor模式也叫访问者模式,是行为模式之一 ,它分离对象的数据和行为,使用Visitor模式, 可以不修改已有类的情况下,增加新的操作。二、访问者模式的应用示例 比如有一个公园,有一到多个不同的组成部分;该公 园存在多个访问者:清洁工A负责打扫公园的A部分,清 洁工B负责打扫公园的B部分,公园的管理者负责检点各 项事务是否完成,上级领导可以视察公园等翻译 2016-08-11 20:53:58 · 316 阅读 · 0 评论 -
java设计模式_开放封闭原则
一、什么是开放封闭原则 开放封闭原则(Open-Closed Principle):一个软件实体 应当对扩展开放,则修改关闭。 在设计一个模块时,应当使得这个模块可以在不被修 改的前提下被扩展。也就是说,应当可以在不必修改源 代码的情况下修改这个模块的行为。 设计的目的便在于面对需求的改变而保持系统的相对 稳定,从而使得系统可以很容易的从一个版本升级到另 一个版本。二、怎样做到开放翻译 2016-08-11 21:26:14 · 2691 阅读 · 2 评论 -
java设计模式_单一职责原则
一、什么是单一职责原则 单一职责原则(Single Responsibility Principle ): 就一个类而言,应该仅有一个引起它变化的 原因。二、多功能的山寨手机 山寨手机的功能: 拍照、摄像、手机游戏、网络摄像头、GPS、炒股 等等。 功能多、但是每一个功能都不强。 拍摄功能 ——专业摄像机或照相机 手机游戏 ——PSP翻译 2016-08-11 21:50:24 · 297 阅读 · 0 评论 -
java设计模式_里氏代换原则
一、什么是里氏代换原则里氏代换原则(Liskov Substitution Principle): 一个软件实体如果使用的是一个父类的话,那 么一定适用于其子类,而且它察觉不出父类和子 类对象的区别。也就是说,在软件里面,把父类 替换成它的子类,程序的行为没有变化。二、反过来的代换不成立 里氏代换原则(Liskov Substitution Principle):翻译 2016-08-13 10:09:28 · 393 阅读 · 0 评论 -
java设计模式_依赖倒转原则
一、什么是倒转? 二、什么是依赖倒转原则 依赖倒转(Dependence Inversion Principle ): 1.抽象不应该依赖于细节,细节应该依赖于抽 象。 2.高层模块不依赖底层模块,两者都依赖抽象。三、组装电脑翻译 2016-08-13 10:17:37 · 298 阅读 · 0 评论 -
java设计模式_迪米特法则
一、什么是迪米特法则 迪米特法则(Law of Demeter )又叫做最少知识 原则,也就是说,一个对象应当对其他对象尽可 能少的了解。 迪米特法则最初是用来作为面向对象的系统设 计风格的一种法则,于1987年秋天由lan holland 在美国东北大学为一个叫做迪米特的项目设计提 出的。二、狭义的迪米特法则 如果两个类不必彼此直接通信,那么这两个类 就不应当发生直接的相互翻译 2016-08-13 10:23:08 · 340 阅读 · 0 评论 -
java设计模式_UML类图(上)
一、描述类的类图 二、抽象类 三、接口 四、对象 五、一般化关系(继承)翻译 2016-08-13 10:26:52 · 719 阅读 · 0 评论 -
java设计模式_解释器模式
一、什么是解释器模式 Interpreter模式也叫解释器模式,是行为模式之一,它 是一种特殊的设计模式,它建立一个解释器,对于特定 的计算机程序设计语言,用来解释预先定义的文法。简 单地说,Interpreter模式是一种简单的语法解释器构架。二、解释器模式应用场景 当有一个语言需要解释执行, 并且你可将该语言中的句子表示为一个抽象语法树时,可使用解释器模式。而当存在以下情况时该模翻译 2016-07-31 21:06:36 · 207 阅读 · 0 评论 -
java设计模式_桥接模式
一、什么是桥接模式 Bridge 模式又叫做桥接模式,是构造型的设 计模式之一。Bridge模式基于类的最小设计原则,通过 使用封装,聚合以及继承等行为来让不同的类承担不同 的责任。它的主要特点是把抽象(abstraction)与行为 实现(implementation)分离开来,从而可以保持各部 分的独立性以及应对它们的功能扩展。二、桥接模式的结构 三、桥接模式的角色和职责翻译 2016-07-31 09:20:35 · 197 阅读 · 0 评论 -
java设计模式_工厂模式
一、什么是工厂方法模式 工厂方法模式同样属于类的创建型模式又被称 为多态工厂模式 。工厂方法模式的意义是定义一个创建 产品对象的工厂接口,将实际创建工作推迟到子类当中。 核心工厂类不再负责产品的创建,这样核心类成为一个 抽象工厂角色,仅负责具体工厂子类必须实现的接口, 这样进一步抽象化的好处是使得工厂方法模式可以使系 统在不修改具体工厂角色的情况下引进新的产品。二、模式中包含翻译 2016-07-23 20:54:07 · 230 阅读 · 0 评论 -
java设计模式_抽象工厂模式
一、什么是抽象工厂模式 抽象工厂模式是所有形态的工厂模式中最为抽 象和最其一般性的。抽象工厂模式可以向客户端 提供一个接口,使得客户端在不必指定产品的具 体类型的情况下,能够创建多个产品族的产品对 象。二、产品族和产品等级结构 三、模式中包含的角色及其职责 1.抽象工厂(Creator)角色抽象工厂模式的核心,包含对多个产品结构的声明,任何工厂类都必须实现这个接口。翻译 2016-07-24 10:52:25 · 212 阅读 · 0 评论 -
java设计模式_工厂模式在开发中的运用
一、工厂模式在开发中的运用 面试题: 写一个简单的计算器。//示例示1:import java.util.Scanner;public class MainClass { public static void main(String[] args) { //1.接受客户端输入 System.out.println("---计算器程序---");翻译 2016-07-24 12:07:41 · 737 阅读 · 0 评论 -
java设计模式_单例模式
一、什么是单例模式 单例模式是一种对象创建型模式,使用单例模式, 可以保证为一个类只生成唯一的实例对象。也就是说, 在整个程序空间中,该类只存在一个实例对象。 其实,GoF对单例模式的定义是:保证一个类、 只有一个实例存在,同时提供能对该实例加以访 问的全局访问方法。二、为什么要使用单例模式呢? 在应用系统开发中,我们常常有以下需求: - 在多个线程之间,比如se翻译 2016-07-24 21:42:16 · 180 阅读 · 0 评论 -
java设计模式_原型模式
一、什么是原型模式 Prototype模式是一种对象创建型模式,它采 取复制原型对象的方法来创建对象的实例。使用 Prototype模式创建的实例,具有与原型一样的 数据。二、原型模式的特点 由原型对象自身创建目标对象。也就是说,对 象创建这一动作发自原型对象本身。 2.目标对象是原型对象的一个克隆。也就是说, 通过Prototype模式创建的对象,不仅仅与原型 对象具有翻译 2016-07-25 21:51:53 · 174 阅读 · 0 评论 -
java设计模式_建造者模式
一、什么是建造者模式 Builder模式也叫建造者模式或者生成器模式, 是由GoF提出的23种设计模式中的一种。Builder模式是一种对象创建型模式之一,用来 隐藏复合对象的创建过程,它把复合对象的创建 过程加以抽象,通过子类继承和重载的方式,动 态地创建具有复合属性的对象。二、建造者模式的结构 三、建造者模式应用场景 对象的创建:Builder模式是为对象的创建而设计的模式翻译 2016-07-25 22:39:56 · 171 阅读 · 0 评论 -
java设计模式_装饰模式
一、什么是装饰模式 装饰( Decorator )模式又叫做包装模式。通 过一种对客户端透明的方式来扩展对象的功能, 是继承关系的一个替换方案。二、装饰模式的结构 三、装饰模式的角色和职责 抽象组件角色: 一个抽象接口,是被装饰类和 装饰类的父接口。 具体组件角色:为抽象组件的实现类。 抽象装饰角色:包含一个组件的引用,并定义了 与抽象组件一致的接口。 具体装饰角色:为抽象装饰翻译 2016-07-26 22:13:37 · 186 阅读 · 0 评论 -
java设计模式_策略模式
一、什么是策略模式 Strategy模式也叫策略模式是行为模式之一, 它对一系列的算法加以封装,为所有算法定义一 个抽象的算法接口,并通过继承该抽象算法接口 对所有的算法加以封装和实现,具体的算法选择 交由客户端决定(策略)。Strategy模式主要用 来平滑地处理算法的切换 。二、策略模式的结构 三、策略模式的角色和职责 Strategy: 策略(算翻译 2016-07-28 22:24:52 · 192 阅读 · 0 评论 -
java设计模式_观察者模式
一、什么是观察者模式 Observer模式是行为模式之一,它的作用是当 一个对象的状态发生变化时,能够自动通知其他 关联对象,自动刷新对象状态。 Observer模式提供给关联对象一种同步通信的 手段,使某个对象与依赖它的其他对象之间保持 状态同步。二、观察者模式的结构 三、观察者模式的角色和职责 Subject(被观察者) 被观察的对象。当需要被观察的状态发生变化时翻译 2016-07-30 12:15:32 · 170 阅读 · 0 评论 -
java设计模式_享元模式
一、什么是享元模式 Flyweight模式也叫享元模式,是构造型模式之 一,它通过与其他类似对象共享数据来减小内存 占用。二、享元模式的结构 三、享元模式的角色和职责 抽象享元角色: 所有具体享元类的父类,规定一些需要实现的公共接口。 具体享元角色: 抽象享元角色的具体实现类,并实现了抽象享元角色规定的方法。 享元工厂角色: 负责创建和管理翻译 2016-07-30 13:00:28 · 191 阅读 · 0 评论 -
java设计模式_代理模式
一、什么是代理模式 Proxy模式又叫做代理模式,是构造型的设计 模式之一,它可以为其他对象提供一种代理(Proxy)以 控制对这个对象的访问。 所谓代理,是指具有与代理元(被代理的对象)具有 相同的接口的类,客户端必须通过代理与被代理的目标 类交互,而代理一般在交互的过程中(交互前后),进 行某些特别的处理。二、代理模式的结构 三、代理模式的角色和职责 subje翻译 2016-07-30 19:15:29 · 174 阅读 · 0 评论 -
java设计模式_外观模式
一、什么是外观模式 Facade模式也叫外观模式,是由GoF提出的 23种设计模式中的一种。Facade模式为一组具 有类似功能的类群,比如类库,子系统等等,提 供一个一致的简单的界面。这个一致的简单的界 面被称作facade。二、外观模式的结构 三、外观模式的角色和职责 Facade 为调用方定义简单的调用接口。 Clients 调用者。通过Facade接口翻译 2016-07-30 19:19:52 · 158 阅读 · 0 评论 -
java设计模式_组合模式
一、什么是组合模式Composite模式也叫组合模式,是构造型的设 计模式之一。通过递归手段来构造树形的对象结 构,并可以通过一个对象来访问整个对象树。二、组合模式的结构 三、组合模式的角色和职责 Component (树形结构的节点抽象) - 为所有的对象定义统一的接口(公共属性,行为等的定义) - 提供管理子节点对象的接口方法 - [可选]提供管理父节点对象的接口方翻译 2016-07-31 08:31:19 · 182 阅读 · 0 评论 -
java设计模式_适配器模式
一、什么是适配器模式 Adapter模式也叫适配器模式,是构造型模式之一 ,通过Adapter模式可以改变已有类(或外部类)的接 口形式。二、适配器模式应用场景 在大规模的系统开发过程中,我们常常碰到诸如以下这些情况: 我们需要实现某些功能,这些功能已有还不太成熟的一个或多个外 部组件,如果我们自己重新开发这些功能会花费大量时间;所以很 多情况下会选择先暂时使用外部组件,以后再考虑随时替翻译 2016-07-31 10:27:46 · 204 阅读 · 0 评论 -
java设计模式_UML类图(下)
一、关联关系 二、关联基数 三、聚合关系 聚合关系是关联关系的一种,表示的是整体和个体之间的关系。 四、合成关系 合成关系是关联关系的一种,比聚合关系更强,它要求普通的聚合关系 中代表整体的对象负责代表部分的对象的生命周期,合成关系不能共享。 五、依赖关系 依赖也是类与类之间的连接,依赖总是单向的。依赖关系表示一个类 依赖于另一个类的定义。翻译 2016-08-13 10:30:25 · 319 阅读 · 0 评论