![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
polo_longsan
这个作者很懒,什么都没留下…
展开
-
设计模式--简单工厂模式
最近在学习《大化设计模式》这本书,感觉作者就是神一样的存在,能把技术讲的那么通熟易懂。觉得还是做一些笔记,一变将来随时查看。 以下是实现计算器的代码的java实现: (1)首先创建操作类接口OperateInterface.java public interface OperateInterface { abstract double getResult(); } (2)创建操作类接口原创 2015-04-01 21:51:25 · 420 阅读 · 0 评论 -
设计模式---策略模式
今天又学习了一种模式,策略模式。总体感觉策略模式与简单工厂模式很像,简单工厂模式通过一个工厂类来创建具体产品角色,策略模式则通过上下文类来创建具体算法类。下面是一个以超市正常收费,打折,返利为场景的实例,将策略模式与简单工厂模式结合起来的一个例子。 (1)首先创建一个现金收费抽象类 /** * 现金收费抽象类 * */ public abstract class CashSuper {原创 2015-04-02 21:48:50 · 442 阅读 · 0 评论 -
设计模式--代理模式
代理模式(Proxy Pattern):为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 代理模式有以下三种角色组成: 抽象角色:通过接口或抽象类声明真实角色实现的业务方法。 代理角色:实现抽象角色,是真实角色的代理,通过真实角色的业务逻辑方法来实现抽象方法,并可以附加自己的操作。 真原创 2015-04-05 10:49:38 · 382 阅读 · 0 评论 -
设计模式--装饰模式
装饰模式(Decorator Pattern),又叫装饰者模式,装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。 在装饰模式中的各个角色有: (1)抽象构件(Component)角色:给出一个抽象接口,以规范准备接收附加责任的对象。 (2)具体构件(Concrete Component)角色:定义一个将要原创 2015-04-04 22:21:42 · 400 阅读 · 0 评论 -
设计模式--模板方法模式
模板方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变算法结构即可重定义该算法的某些特定步骤。 模板方法模式中会在Abstract父类中定义一个final类型的模板方法,在这个方法中会定义主要的算法骨架,也就是子类的通用部分,而把有差异的部分实现在子类中去完成。模板方法定义为final类型的是因为final类型的方法不能被重写。保证算法骨架在父类中来定义。原创 2015-04-06 12:10:15 · 352 阅读 · 0 评论 -
设计模式--建造模式
1、建造这模式的定义 建造者模式:将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。 2、建造这模式的使用场景: (1)当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。 (2)当构造过程必须允许被构造的对象有不同表示时。 3、建造者模式的角色组成: (1)builder:为创建一个产品对象的各个部件指定抽象接口。转载 2015-04-07 20:41:27 · 462 阅读 · 0 评论 -
设计模式--访问者模式
1、访问者模式:表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。 2、访问者模式涉及的角色: (1)Visitor 抽象访问者角色,为该对象结构中具体元素角色声明一个访问操作接口。该操作接口的名字和参数标识了发送访问请求给具体访问者的具体元素角色,这样访问 者就可以通过该元素角色的特定接口直接访问它。 (2)ConcreteVis原创 2015-04-19 21:11:38 · 440 阅读 · 0 评论 -
设计模式-单例模式
单例模式算是一种接触比较多的一种模式,像Spring中的BeanFactory就是应用的单例模式。单例模式的类,只能创建一个实例,通常单例模式有如下3中实现。 1、饿汉模式 饿汉模式,每次类加载的时候就会主动创建一个实例,,私有构造方法不能被继承 /** * 饿汉式单例 * */ public class MySingleton { private static MySi原创 2015-03-12 22:16:10 · 461 阅读 · 0 评论