设计模式
luckyliuqs
久处不厌 心生欢喜
展开
-
创建型模式-简单工厂模式(静态工厂方法模式)
目录1. 简单工厂模式概述1.1 概念1.2角色1.3 类图2. 简单工厂模式创建原理3. 简单工厂模式的优缺点3.1 优点3.2 缺点3.3 使用场景1. 简单工厂模式概述1.1 概念 简单工厂模式又称为静态工厂方法模式。将一个具体类的实例化交给一个静态工厂方法来执行定义一个类,根据参数的不同返回不同的类的实例。这些类具有公共的...原创 2019-03-04 23:55:10 · 332 阅读 · 0 评论 -
结构型模式-组合模式
目录1.组合模式概述1.1 定义1.2 作用1.3 应用场景1.4 分类1.4.1 透明组合模式1.4.2 安全组合模式2.类图3.角色4.案例4.1 说明4.2 创建4.3 分析5.优缺点5.1 优点5.2 缺点1.组合模式概述1.1 定义 在组合模式中通过多个对象形成树形结构以表示整体-部分层次。组...原创 2019-03-28 12:15:52 · 216 阅读 · 0 评论 -
结构型模式-外观模式
1.外观模式概述1.1 定义 外观模式(Facade),为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。1.2 作用 外观模式将客户端与子系统的内部复杂性进行分隔开,使得客户端只需要与外观对象打交道,而不需要与子系统内部的很多对象打交道。 外观模式的目的在于减少系统的复杂程...原创 2019-04-01 22:28:42 · 99 阅读 · 0 评论 -
行为型模式-概述
目录1.概述1.1 引入1.2 行为型模式原理1.3 类型1.3.1 类行为型模式1.3.2 对象行为型模式1.3.3 分析2.行为型模式种类1.概述1.1 引入 在系统运行时,对象并不是孤立的,它们可以通过相互通信与协作完成某些功能,一个对象在运行时也将影响到其他对象的运行。1.2 行为型模式原理 行为型模式关注...原创 2019-04-02 08:56:19 · 753 阅读 · 0 评论 -
行为型模式-职责链模式
1.概述1.1 定义 职责链模式(Chain of Responsibility),使得多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个关系连成一条链,并沿着这条链传递该请求,直到有对象处理这个请求为止。1.2 原理 发出请求的客户端并不知道哪一个对象最终会处理这个请求,这样系统的更改在不影响客户端的情况下动态的重新...原创 2019-04-08 15:56:11 · 96 阅读 · 0 评论 -
行为型模式-命令模式
1.概述1.1 定义 命令模式是将一个请求封装成一个对象,从而可用不同的请求对客户进行参数化;对请求进行排队或者记录请求的日志,以及支持可撤销的操作。 命令模式可以对发送者和接收者完全解耦。1.2 原理 如:在餐馆时,顾客点餐的时候,只需要向服务员提交菜单即可,不需要那个厨师来做菜。在这个过程中,顾客就是请求的发送者,服务员就是命令,厨师是请求...原创 2019-04-08 17:09:03 · 138 阅读 · 0 评论 -
行为型模式-迭代器模式
1.概述1.1 定义 迭代器模式提供了一种方法来访问聚合对象中的各个元素,而不用暴露这个对象内部的表示,其别名为游标(Cursor)。1.2 原理 将遍历行为分离出来,抽象为一个迭代器,专门提供遍历聚合对象内部数据的行为。1.3 应用场景 当为聚合对象提供多种遍历方式,或者为遍历不同的聚合结构提供统一的接口时。2.类图...原创 2019-04-08 18:02:51 · 135 阅读 · 0 评论 -
行为型模式-观察者模式
1.概述1.1 定义 观察者模式定义了对象之间的一对多的依赖关系,让多个观察者对象同时监听,某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使得它们能够自动更新自己。1.2 原理 观察者的一个通俗的例子:马路上的很多的汽车和红绿灯。汽车就是观察者,红绿灯就是被观察者,即汽车观察的目标。一旦红绿灯变成红色则汽车停止;变绿色,则汽车启...原创 2019-04-08 20:40:42 · 162 阅读 · 0 评论 -
行为型模式-备忘录模式
目录1.概述1.1 定义1.2 原理1.3 应用场景2.类图3.角色4.优缺点4.1 优点4.2 缺点5.案例5.1Originator5.2Memento5.3Caretaker5.4 Client5.5 运行结果5.6 分析1.概述1.1 定义 在软件开发过程中,有时需要记录一个对象的内部状...原创 2019-04-10 01:29:12 · 123 阅读 · 0 评论 -
行为型模式-状态模式
1.概述1.1 定义 在很多情况下,一个对象的行为取决于一个或多个动态变化的属性,这样的属性叫做状态,这样的对象叫做有状态的对象,对象状态是从事先定义好的一系列☞中取出的,当这样一个对象与外部事件产生互动时,其内部状态就会改变,使得系统的行为也发生改变,即类的行为是基于它的状态而改变的。1.2 解决问题 对象的行为依赖于它的状态(属性),并且可以根据它的状态改...原创 2019-04-18 12:55:58 · 212 阅读 · 0 评论 -
行为型模式-中介者模式
目录1.概述1.1 定义1.2 应用场景1.3 实际场景2.类图3.角色4.优缺点4.1 优点4.2 缺点5.案例5.1 说明5.2 代码5.3 效果5.4 分析1.概述1.1 定义 中介者模式(Mediator Pattern)通过一个中介对象来封装一系列的对象交互。中介者模式使得各个对象不需要显示地相互引用,从而...原创 2019-04-11 01:56:13 · 2398 阅读 · 0 评论 -
设计模式-基础
目录1. 设计模式概念2.设计模式分类2.1 创建型模式2.2结构型模式2.3行为型模式2.4J2EE模式3.设计模式原则1. 设计模式概念 设计模式是在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的实验和错误总结出来的。2.设计模式分类 设计模式分为以下五大类:2...原创 2019-03-30 14:30:03 · 86 阅读 · 0 评论 -
创建型模式-单例模式
目录1. 单例模式概念2.单例模式实现原理3.单例模式分类4.饿汉模式 5.懒汉模式6.懒汉模式和饿汉模式对比1. 单例模式概念 为了确保某个类只有一个实例,而且自行实例化向整个系统提供这个实例,提供全局方法。单例模式是一种对象创建新模式。2.单例模式实现原理 原理如下:1.将构造方法私有化,不允许...原创 2019-03-30 14:29:27 · 78 阅读 · 0 评论 -
创建型模式-工厂方法模式
目录1. 工厂方法模式概述1.1 工厂方法模式概念1.2 工厂方法模式类图2. 工厂方法模式实现原理3. 工厂方法模式优缺点3.1 优点3.2 缺点1. 工厂方法模式概述1.1 工厂方法模式概念 又称为虚拟构造器(Virtual Constructor)模式或多态模式,属于创建型模式。 在工厂方法模式中,父类负责定义创建对象...原创 2019-03-05 01:28:49 · 171 阅读 · 0 评论 -
创建型模式-抽象工厂方法模式
目录1.抽象工厂方法模式概述1.1概念1.2产品等级结构和产品族1.2类图1.3角色 2.抽象工厂方法模式实现原理3.抽象工厂方法模式优缺点3.1优点3.2缺点1.抽象工厂方法模式概述1.1概念 抽象工厂方法模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。抽象工厂方法模式提供了一个创建一系列相关或相互依赖对象的接...原创 2019-03-06 23:45:56 · 233 阅读 · 0 评论 -
创建型模式-原型模式
目录1.原型模式1.1 概念1.2工作原理1.3类图1.4 角色1.5 原型分类1.5.1 浅克隆1.5.2 深克隆1.5.3 完全克隆2.原型模式实现原理2.1实现Cloneable接口2.2重写Object类中的clone方法2.3 案例实现2.3.1 浅克隆2.3.2 深克隆3.原型模式优缺点3.1 优点3.2 ...原创 2019-03-10 16:42:29 · 194 阅读 · 0 评论 -
结构型模式-概述
1.概述 结构型模式关注如何将现有类或对象组织在一起形成更加强大的结构。 结构型模式描述如何将类或者对象结合在一起形成更大的结构。可以描述两种不同的东西:类与类的实例(即对象),根据这一点,结构型模式可以分为类结构型模式和对象结构型模式。1.1 类结构型模式 类结构型模式关心类的组合,可以由多个类组合成一个更大的系统,在类结构型模式中一...原创 2019-03-19 17:54:19 · 674 阅读 · 0 评论 -
结构型模式-适配器模式
目录1.概述1.1 定义1.2 作用1.3 应用场景2.类图2.1 类适配器模式类图2.2 对象适配器模式类图3.角色4.实例4.1 类适配器4.2 对象适配器5.3 两者的区分5.优缺点5.1 优点5.2 缺点1.概述1.1 定义 适配器模式(Adapter Pattern)将一个接口转换成客户希望的另一...原创 2019-03-19 22:35:52 · 292 阅读 · 0 评论 -
结构型模式-代理模式
目录1.概述1.1 定义1.2 作用1.3 应用场景2.类图3.角色4.分类5.实例1.概述 在一些情况下,客户端不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用,去掉客户不能看到的内容和服务,或者增添客户需要的额外服务。 即客户端通过调用代理,来间接的调用实际的对象。1.1 定义...原创 2019-03-20 01:24:35 · 91 阅读 · 0 评论 -
创建型模式-建造者模式
目录1.概念1.1 定义1.2 作用1.3 应用场景2.类图3.角色4.案例实现4.1 电脑产品类4.2 抽象电脑建造者类4.3 具体电脑建造者类4.4 指挥者类4.5 客户端类4.6 输出4.7 扩展5.优缺点5.1 优点5.2 缺点1.概念1.1 定义建造者模式(Builder Pattern)强调将一个复杂对...原创 2019-03-12 17:47:37 · 162 阅读 · 0 评论 -
结构型模式-装饰器模式
1.概述1.1 定义 在不改变原有对象的基础上,将功能附加到对象上(提供了比继承更有弹性的替代方案)。1.2 作用 装饰模式比继承更加灵活,它可以对客户透明的方式动态的给一个对象附加更多的责任。装饰模式可以在不需要创建更多子类的情况下,对对象的功能加以扩展。1.3 场景 在不影响其他对象的情况下,以动态、透明的方式给单个对象...原创 2019-03-25 01:06:28 · 125 阅读 · 0 评论 -
结构型模式-桥接模式
1.概述1.1 定义 桥接模式的用意就是将抽象化与实现化进行解耦,将抽象部分与它的实现部分分离,使得它们都可以独立的变化。1.2 合成/聚合复用原则 合成和聚合都是关联的特殊种类,其原则就是尽量使用合成/聚合,尽量不要使用类继承。1.2.1 聚合 聚合表示一种弱的拥有关系,体现的是A对象可以包含B对象,但是B对...原创 2019-03-25 16:32:52 · 121 阅读 · 0 评论 -
行为型模式-访问者模式
1.概述1.1 引入 对于相同的对象,不同的角色可能会有不同的操作。比如在一个网站论坛中的留言帖,如果是普通游客,那么可能就只会基本的浏览查看功能;如果是注册会员,那么除了浏览功能还能够进行留言和回复;如果是论坛管理员,那么还具备删除帖子的权限。 在这里,各种角色就是访问者,留言帖就是被访问的对象,不同的访问者对同样的对象会有不同的操作,而且还可能增加新的访问者...原创 2019-04-18 21:23:49 · 239 阅读 · 0 评论