设计模式
设计模式研究与应用
coffejoy
这个作者很懒,什么都没留下…
展开
-
设计模式 —— 代理模式
一、定义:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。二、特点:真实的角色就是实现实际的业务逻辑,不用关心其他非本职责的事务,通过后期的代理完成一件完成事务,附带的结果就是编程简洁清晰。代理对象可以在客户端和目标对象之间起到中介的作用,这样起到了中介的作用和保护了目标对象的作...原创 2019-04-02 10:00:08 · 103 阅读 · 0 评论 -
设计模式 —— 模版模式
一、定义:一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。二、特点:抽象类(AbstractClass):实现了模板方法,定义了算法的骨架。具体类(ConcreteClass):实现抽象类中的抽象方法,已完成完整的算法。三、情景:咖啡冲泡流程:1、把水煮沸 2、用沸水冲泡咖啡 3、把咖啡倒进杯子 4、加糖...原创 2019-04-02 09:57:26 · 105 阅读 · 0 评论 -
设计模式 ——工厂模式
定义通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。特点:工厂类角色:这是本模式的核心,含有一定的商业逻辑和判断逻辑,根据逻辑不同,产生具体的工厂产品。如例子中的Driver类。抽象产品角色:它一般是具体产品继承的父类或者实现的接口。由接口或者抽象类来实现。如例中的Car接口。具体产品角色:工厂类所创建的对象就是此角色的实例。在java中由一个具体类实现...原创 2019-04-02 09:51:04 · 98 阅读 · 0 评论 -
设计模式 —— 单例模式
单例模式属于对象创建性质的模式,用于产生一个对象的具体实例,并且可以确保系统中一个类只能产生一个实例。饥饿式单例public class Singleton { private static Singleton singleton = new Singleton(); private Singleton(){ System.out.println("Singleton is crea...原创 2019-04-02 09:49:16 · 74 阅读 · 0 评论 -
设计模式 —— 装饰模式
一、定义:在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。二、特点:装饰对象和真实对象有相同的接口。这样客户端对象就能以和真实对象相同的方式和装饰对象交互。装饰对象包含一个真实对象的引用(reference)装饰对象接受所有来自客户端的请求。它把这些请求转发给真实的对象。装饰对象可以在转发这些请求以前或以后增加...原创 2019-04-02 09:21:23 · 122 阅读 · 0 评论 -
设计模式 —— 策略模式
一、定义:定义一系列的算法,把每一个算法封装起来, 并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。二、特点:环境类(Context):用一个ConcreteStrategy对象来配置。维护一个对Strategy对象的引用。可定义一个接口来让Strategy访问它的数据。抽象策略类(Strategy):定义所有支持的算法的公共接口。 Context使用这个接口来调用某...原创 2019-04-02 09:18:34 · 121 阅读 · 0 评论 -
设计模式 —— 适配器模式
定义将一个类的接口变成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一个工作适用的场景要修改已经投产的接口注意事项适配器一般不用于开发阶段,通常用在服役的项目上模式中的角色目标接口(Target):客户期待的接口需要适配的类(Adaptee):需要被适配的类适配器(adapter):通过包装一个需要适配的对象,把原接口转换成目标接口。实现方法是适...原创 2019-04-02 09:11:52 · 142 阅读 · 0 评论