博客专栏  >  架构   >  设计模式之禅

设计模式之禅

简述设计模式之禅这本书的精华,并且加上我自己对设计模式的理解,Come on!

关注
8 已关注
26篇博文
  • 设计模式之禅——解释器模式

    我们直接从一个业务来看解释器模式 业务需求:输入一个模型公式(加减运算), 然后输入模型中的参数,晕算出结果设计要求: 公式可以运行时编辑,并且符合正确算术书写方式,例如a+b-c 高拓展性,未来增...

    2017-01-29 14:27
    699
  • 设计模式之禅——状态模式

    我们每个人都乘过电梯,电梯的动作:开门、关门、运行、停止。现在我们用程序来实现一个电梯的动作,先看类图设计,如图所示现在看一下代码public interface ILift { //开启电梯...

    2017-01-28 16:43
    1691
  • 设计模式之禅——门面模式

    门面模式【Facade Pattern】也叫外观模式,是一种比较常用的封装模式,其定义如下:【要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。门面模式提供一个高层次的接口,使得子系统更容...

    2017-01-11 10:30
    993
  • 设计模式之禅——观察者模式

    观察者模式也叫做发布订阅模式(Publish/subscribe),它是一个经常在项目中使用的模式,定义如下:【定义对象之间一对多的以来关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知...

    2017-01-07 23:24
    2419
  • 设计模式——适配器模式

    适配器模式是在系统整体已经设计完成时采用适配器模式满足新的需求的一种设计模式。 比如说,你的笔记本电脑是用电源做适配器将外界电压转换成笔记本电脑适用电压的。不能是为了电压去设计电脑。例子:鸭子和火鸡...

    2016-10-07 19:38
    1212
  • 设计模式之禅——策略模式

    策略模式的目的是为了动态的设计对象的行为。比如说,新倩女幽魂游戏中的红衣女刀客【RedSwordsMan】有两种移动的方式:1、做任务时,骑马移动 2、和自己的伴侣玩耍时,步行移动ok,肯定还有其他...

    2016-09-24 21:43
    1108
  • 设计模式之禅——责任链模式

    责任链模式的定义: 使多个对象都有机会处理请求,从而避免了请求的发送者和接收者的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。例子:古代女子要 “三从四德”,这里的三...

    2016-09-14 08:55
    4378
  • 设计模式之禅——命令模式

    命令模式的定义命令模式是一个高内聚的模式,其定义为:将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或记录请求日志,可以提供命令的撤销和恢复功能.例子:项目经理执行任务满足客...

    2016-09-08 08:56
    886
  • 设计模式之禅——中介者模式

    中介者模式 用一个中介对象封装一系列的对象交互,从而使其耦合松散,而且可以独立改变它们之间的交互例子:卖商品的公司各个部分之间的交互我们知道卖商品的公司一般有这几个部分:采购管理、销售管理、物流管理...

    2016-09-04 15:28
    665
  • 设计模式之禅——原型模式

    并发的实现多种方式。我们主要说的是多线程~首先,你无法选择何时在你的Java程序中出现线程。仅仅是你自己没有启动线程并不代表你就可以回避编写使用线程的代码。例如:Web系统是最常见的Java应用系统之...

    2016-08-29 15:28
    835
  • 设计模式之禅——代理模式(二)代理模式&AOP编程&JDK对代理模式的支持

    本篇文章还是用上一篇动态代理的例子设计模式之禅——代理模式(一)普通代理&强制代理&虚拟代理&动态代理ok,上一篇我们已经讲了动态代理最简单的表现形式,现在我们为之前的例子加一个需求——想让游戏登陆之...

    2016-08-28 10:19
    900
  • 设计模式之禅——代理模式(一)普通代理&强制代理&虚拟代理&动态代理

    代理模式的定义:为其他对象提供一种代理以控制对这个对象的访问。例子:玩家玩网游打怪、升级~见UML图 见代码//玩家接口类 public interface IGamePlayer { pu...

    2016-08-25 15:12
    2160
  • Thinking in Java——第十四章-类型信息

    这篇blog只是为了我个人自己理解,不做分享。但是如果亲爱的你有问题,欢迎讨论~这里的类型信息主要是将的运行时类型信息。 运行时类型信息主要有两种方式: 1、传统的RTTI,即Runtime Ty...

    2016-08-22 10:45
    652
  • 设计模式之禅——建造者模式

    建造者模式定义: 建造者模式也叫做生成器模式——将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。)例子:我们要生产一个简单车模(汽车模型),汽车模型要有启动、停止、引擎发出...

    2016-08-23 12:48
    1904
  • 设计模式之禅——模板方法模式&钩子方法

    **模**板方法模式的定义:定义一个操作的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的框架即可重定义该算法的某些特定步骤。例子:做一个简单的悍马车的模型见UML图 一个抽象悍马...

    2016-08-21 12:15
    3342
  • 设计模式之禅——抽象工厂模式

    **抽**象工厂模式的定义:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定它们的具体类。抽象工厂模式的通用类图抽象工厂是工厂方法模式的升级版本,在多个业务品种、业务分类时,通过抽象工厂模式生...

    2016-08-19 20:35
    1888
  • 设计模式之禅——工厂方法模式

    个人感觉《设计模式之禅》要比《Head First》要好(认真的),为什么呢?因为这本书贵~~工厂方法的定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到子类样...

    2016-08-17 19:15
    1613
  • 设计模式之禅——单例模式

    单例模式的定义: 确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。古代的皇帝就应该是一个单例,见代码package com.sdkd.hms;public class Empero...

    2016-08-16 19:24
    1757
  • 设计模式之禅——六大设计原则之开闭原则(精神领袖)

    ”对修改关闭,对拓展开放“。 一个书店卖书的例子,见代码public interface IBook { public String getName(); public int ge...

    2016-08-15 14:53
    1301
  • 设计模式之禅——六大设计原则之迪米特原则

    定义: 一个对象应该对其他对象有最少的了解它包含以下四层定义 只和朋友交流 朋友类的定义是这样的:出现在成员变量、方法的输入输出函数中的类成为成员朋友类,而出现在方法体内部的类不属于朋友类。 我吧...

    2016-08-14 22:15
    1055

img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部