设计模式
珂-瑞
这个作者很懒,什么都没留下…
展开
-
原型模式(浅克隆与深克隆)
二十四弦 2018-10-17 19:48:09 2214 收藏 3分类专栏: 设计模式版权1.定义:原型模式是一种对象创建型模式,用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。原型模式允许一个对象在创建另一个一个可定制对象,无需指导创建细节。2.原型模式的实现:为了获取对象的一份拷贝,我们可以利用Object类的clone()方法,具体步骤如下:(1)在派生类中覆盖基类的clone()方法,并声明为public;(2)在派生类的clone方法中,调用super...转载 2020-07-03 07:32:46 · 945 阅读 · 2 评论 -
java与模式:策略模式
1、定义定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用他的客户而变化。2、示例报价管理:向客户报价,对于不同 的客户要报不同的价格,对普通客户或者是新客户报的是全价。 对老客户报的价格,根据客户年限,给予一定的的折扣。 对大客户报的价格,根据大客户的累计消费额,给予一定的折扣。 还要考虑客户购买的数量和金额,比如,虽然是新客户,...原创 2019-10-23 19:50:53 · 162 阅读 · 0 评论 -
状态模式
1、定义:允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了他的类。2、代码:/** * 封装一个投票状态的行为 */public interface VoteState { /** * 处理状态对应的行为 * @param user 投票人 * @param voteItem 投票项 * @param v...原创 2019-10-22 12:10:14 · 114 阅读 · 0 评论 -
《JAVA与模式》之命令模式
《JAVA与模式》之命令模式在阎宏博士的《JAVA与模式》一书中开头是这样描述命令(Command)模式的: 命令模式属于对象的行为模式。命令模式又称为行动(Action)模式或交易(Transaction)模式。 命令模式把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。命令模式的结构...转载 2019-03-02 19:30:49 · 155 阅读 · 0 评论 -
《JAVA与模式》之代理模式
《JAVA与模式》之代理模式在阎宏博士的《JAVA与模式》一书中开头是这样描述代理(Proxy)模式的: 代理模式是对象的结构模式。代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。代理模式的结构 所谓代理,就是一个人或者机构代表另一个人或者机构采取行动。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用...原创 2019-01-09 19:00:44 · 135 阅读 · 0 评论 -
《JAVA与模式》之装饰模式
《JAVA与模式》之装饰模式在阎宏博士的《JAVA与模式》一书中开头是这样描述装饰(Decorator)模式的: 装饰模式又名包装(Wrapper)模式。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。装饰模式的结构 装饰模式以对客户透明的方式动态地给一个对象附加上更多的责任。换言之,客户端并不会觉得对象在装饰前和装饰后有什么不同。装饰模式可以在不使用创造...转载 2019-01-07 11:34:22 · 187 阅读 · 0 评论 -
JAVA设计模式之门面模式(外观模式)
医院的例子 现代的软件系统都是比较复杂的,设计师处理复杂系统的一个常见方法便是将其“分而治之”,把一个系统划分为几个较小的子系统。如果把医院作为一个子系统,按照部门职能,这个系统可以划分为挂号、门诊、划价、化验、收费、取药等。看病的病人要与这些部门打交道,就如同一个子系统的客户端与一个子系统的各个类打交道一样,不是一件容易的事情。 首先病人必须先挂号,然后门诊。如果医生要求化验,病人必须...转载 2019-01-06 21:03:40 · 322 阅读 · 3 评论 -
JAVA设计模式初探之组合模式
先看看组合模式的定义吧:“将对象组合成树形结构以表示‘部分-整体’的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。” 就拿剪发办卡的事情来分析一下吧。 首先,一张卡可以在总部,分店,加盟店使用,那么总部可以刷卡,分店也可以刷卡,加盟店也可以刷卡,这个属性结构的店面层级关系就明确啦。 那么,总店刷卡消费与分店刷卡消费是一样的道理,那么总店与分店对会员卡的使用...转载 2019-01-06 19:05:55 · 135 阅读 · 0 评论 -
《JAVA与模式》之责任链模式
《JAVA与模式》之责任链模式在阎宏博士的《JAVA与模式》一书中开头是这样描述责任链(Chain of Responsibility)模式的: 责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响...转载 2019-01-11 14:37:04 · 156 阅读 · 0 评论 -
《JAVA与模式》之适配器模式
《JAVA与模式》之适配器模式在阎宏博士的《JAVA与模式》一书中开头是这样描述适配器(Adapter)模式的: 适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。适配器模式的用途 用电器做例子,笔记本电脑的插头一般都是三相的,即除了阳极、阴极外,还有一个地极。而有些地方的电源插座却只有两极,没有地极。电源插座...转载 2019-01-05 14:41:26 · 123 阅读 · 0 评论 -
《JAVA与模式》之单例模式
《JAVA与模式》之单例模式在阎宏博士的《JAVA与模式》一书中开头是这样描述单例模式的: 作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。单例模式的结构 单例模式的特点:单例类只能有一个实例。 单例类必须自己创建自己的唯一实例。 单例类必须给所有其他对象提供这一实例。 饿汉式单例类 publ...转载 2018-12-28 22:37:36 · 121 阅读 · 0 评论 -
《JAVA与模式》之原型模式
《JAVA与模式》之原型模式在阎宏博士的《JAVA与模式》一书中开头是这样描述原型(Prototype)模式的: 原型模式属于对象的创建模式。通过给出一个原型对象来指明所有创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象。这就是选型模式的用意。原型模式的结构 原型模式要求对象实现一个可以“克隆”自身的接口,这样就可以通过复制一个实例对象本身来创建一个新的实例...转载 2018-12-28 22:34:11 · 137 阅读 · 0 评论 -
《JAVA与模式》之建造模式
《JAVA与模式》之建造模式在阎宏博士的《JAVA与模式》一书中开头是这样描述建造(Builder)模式的: 建造模式是对象的创建模式。建造模式可以将一个产品的内部表象(internal representation)与产品的生产过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象。产品的内部表象 一个产品常有不同的组成成分作为产品的零件,这些零件有可能是对象,...转载 2018-12-28 22:08:27 · 177 阅读 · 0 评论 -
《JAVA与模式》之建造模式
在阎宏博士的《JAVA与模式》一书中开头是这样描述建造(Builder)模式的: 建造模式是对象的创建模式。建造模式可以将一个产品的内部表象(internal representation)与产品的生产过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象。产品的内部表象 一个产品常有不同的组成成分作为产品的零件,这些零件有可能是对象,也有可能不是对象,它们通常...转载 2018-12-23 17:34:04 · 168 阅读 · 0 评论 -
《JAVA与模式》之工厂方法模式
《JAVA与模式》之工厂方法模式在阎宏博士的《JAVA与模式》一书中开头是这样描述工厂方法模式的: 工厂方法模式是类的创建模式,又叫做虚拟构造子(Virtual Constructor)模式或者多态性工厂(Polymorphic Factory)模式。 工厂方法模式的用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。那么工厂方法模式是在什么场景下使用呢,下面就以...转载 2018-12-22 19:36:06 · 152 阅读 · 0 评论 -
UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)-转
继承、实现、依赖、关联、聚合、组合的联系与区别分别介绍这几种关系:继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间最常见的关系;在Java中此类关系通过关键字extends明确标识,在设计时一般没有争议性; 实现指的是一个class类实现interface接口(可以是多个)的功能;实现...转载 2018-12-22 19:17:19 · 400 阅读 · 0 评论 -
《JAVA与模式》之抽象工厂模式
《JAVA与模式》之抽象工厂模式场景问题 举个生活中常见的例子——组装电脑,我们在组装电脑的时候,通常需要选择一系列的配件,比如CPU、硬盘、内存、主板、电源、机箱等。为讨论使用简单点,只考虑选择CPU和主板的问题。 事实上,在选择CPU的时候,面临一系列的问题,比如品牌、型号、针脚数目、主频等问题,只有把这些问题都确定下来,才能确定具体的CPU。 同样,在选择主板的时候,也...转载 2018-12-22 18:45:51 · 199 阅读 · 0 评论