摘要: 模式简介 为其他对象提供一种代理以控制对这个对象的访问。 在一些情况下,客户端不能或者不想直接引用一个对象,可以借助一个第三方代理来实现间接引用。代理对象在客户端和目标对象之间起到中介作用,通过代理对象,可以去掉客户不能看到的内容或服务,也可以添加客户需要的额外服务。 想象一下,商家想找明星艺人演出 阅读全文
posted @ 2018-06-20 21:45 Answer.Geng 阅读(572) 评论(0) 推荐(0) 编辑
摘要: 模式简介 运用共享技术有效地支持大量细粒度地对象。 通常情况下,面向对象技术可以增强系统地灵活性及可扩展性,在系统开发过程中,我们会不断地增加类和对象。当对象数量过多时,将会带来系统开销过高、性能下降等问题。享元模式通过共享相同或相似的对象来解决这一类问题。在介绍享元模式之前,首先要弄清楚两个概念: 阅读全文
posted @ 2018-06-19 19:39 Answer.Geng 阅读(598) 评论(1) 推荐(2) 编辑
摘要: 模式简介 为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层的接口,这个接口使得这一子系统更加容易使用。 将一个系统拆分成若干个子系统,有利于子系统具有较强地可重用性,也更容易对子系统进行定制。但是与此同时增加了系统的复杂度,外观模式为子系统中较为通用的操作提供了一个简单的接口。 阅读全文
posted @ 2018-06-11 21:49 Answer.Geng 阅读(506) 评论(0) 推荐(0) 编辑
摘要: 模式简介 动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。 装饰者模式又叫包装器模式(Wrapper),它是一种结构型模式。如果一定要一句话或者一件事物来形容,我觉得使用下图来表示这种结构再合适不过了。没错,装饰者模式就是在鸡排上面放一层生菜,生菜上面 阅读全文
posted @ 2018-06-11 14:28 Answer.Geng 阅读(624) 评论(0) 推荐(1) 编辑
摘要: 模式简介 将对象组合成树形结构以表示“部分 整体”的层次结构,Composite使得用户对单个对象和组合对象的使用具有一致性。 Composite模式的定义中有两个关键词: 树形结构 和 一致性 。作为一种结构型模式,Composite模式适用于处理树形结构的问题。其次,对于客户端来说,用户使用这个 阅读全文
posted @ 2018-06-08 15:23 Answer.Geng 阅读(607) 评论(0) 推荐(0) 编辑
摘要: 模式简介 将抽象部分与它的实现相分离,使它们都可以独立地变化。 桥接模式是一种结构型模式,又称柄体模式(Handle and Body)或接口模式(Interface)。 想象下面这幅图,由英文字母组成,每个字母可以有不同的颜色。 在控制台中输出以上内容,想想我们该怎样进行设计? 方案一:为每个字母 阅读全文
posted @ 2018-06-06 16:08 Answer.Geng 阅读(618) 评论(1) 推荐(0) 编辑
摘要: 模式简介 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的类可以一起工作。 Adpater模式又叫包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。 结构说明 Adapter模式一般包含两个版本: 类适配器模式 阅读全文
posted @ 2018-05-28 20:15 Answer.Geng 阅读(429) 评论(0) 推荐(0) 编辑
摘要: 前言 可扩展标记语言(Extensible Markup Language,XML)是一种标记语言,它定义了一组规则,用于以人和机器都可以理解的格式对文档进行编码。下面是一个简单的XML示例: George John Reminder Don't forget the meeting! 本文首先介绍 阅读全文
posted @ 2018-05-24 11:01 Answer.Geng 阅读(654) 评论(0) 推荐(1) 编辑
摘要: 模式简介 保证一个类仅有一个实例,并提供一个访问它的全局访问点 简单来说,让类自己负责保存它的唯一实例(静态私有变量),通过使用受保护的构造函数来保证没有其他实例可以被创建,并且提供一个访问该实例的公有方法(公有的静态方法),这就是单例(Singleton)模式。 结构说明 UML类图 角色说明 S 阅读全文
posted @ 2018-05-19 16:56 Answer.Geng 阅读(606) 评论(0) 推荐(0) 编辑
摘要: 模式简介 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 通俗来说,原型模式就是从一个对象,通过复制的手段去创建另外一个对象,而且不需要知道任何创建的细节。 思考:这么做有什么好处? 省略创建者类 。例如在工厂方法中,客户端创建一个产品,必须调用相应工厂类中的方法获取产品实例。在原 阅读全文
posted @ 2018-05-18 13:09 Answer.Geng 阅读(619) 评论(0) 推荐(1) 编辑