
设计模式
houdezaiwu1
这个作者很懒,什么都没留下…
展开
-
设计模式(一)------代理模式
前言代理模式就是由代理类执行相关的操作,不直接使用被代理类,如下所示:PersonDao接口具有两个方法,byHouse()和byCar();PersonDaoImpl 是接口的实现类,做为被代理类,由其执行接口的方法PersonProxy 是代理类,代替PersonDaoImpl 执行这两个方法,它也实现了接口,所以执行的时候,讲屏蔽掉PersonDaoImpl,从而实现了代理。...原创 2019-07-01 15:10:24 · 118 阅读 · 0 评论 -
设计模式(二)------装饰者模式
前言装饰者模式和静态代理比较像,但有一定的区别,就放在这里说下静态代理控制的是对象,即被代理对象,上一篇中,通过构造方法引入。装饰者对象是为对象额外的增加一些功能,起到装饰作用,不控制对象。IO 的包就是采用的装饰模式如上所示,Person和 Decorator都实现了Human 接口,Decorator是一个抽象类,它有3个子类,具体的装饰效果就是子类提供,由于都是Human 类...原创 2019-07-01 16:00:06 · 102 阅读 · 0 评论 -
设计模式(三)------策略模式
前言在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法上图 三个类都实现了接口定义的方法,StrategyImple是具体执行方法的类,两外两个是定义的策略,如果再有其他策略,可...原创 2019-07-01 16:35:37 · 150 阅读 · 0 评论 -
设计模式(四)------适配器模式
前言考虑一个问题。人会跑,鸟而会飞,如果我们跑步的时候起来,应该怎么办能,答案就是要具备鸟会飞的技能,适配器可以帮我们实现。将一个接口转换成客户希望的另一个接口,使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。在适配器模式中,我们通过增加一个新的适配器类来解决接口不兼容的问题,使得原本没有任何关系的类可以协同工作...原创 2019-07-01 17:28:09 · 145 阅读 · 0 评论 -
设计模式(五)------观察者模式
前言观察者模式:定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖它的对象都会得到通知并自动更新。同时,观察者是观察者和被观察者之间实现了送耦合,被观察者不知道观察者具体的内部实现,体现的是面向接口编程,扩展性也还好,如下所示。需要注意的是,有许多人说观察者就是发布订阅模式,其实是不对的,如下,发布订阅模式多了一个中介,再观察者模式中,被观察者和观察者有耦合,而发布订阅模...原创 2019-07-02 11:05:13 · 113 阅读 · 0 评论 -
设计模式(六)------工厂方法模式
前言该模式属于创建对象的模式,适用于实现统一接口的一些对象的创建工作,用统一的接口管理,方便好维护,避免了出现大量的new 代码。具体分为三种类型: 普通方法工厂模式、多个工厂方法模式和静态方法工厂模式。普通方法工厂模式再工厂类定义一个方法,根据传入参数的不同,选择创建对象的类型。定义一个发送信息的接口public interface Sender { public void ...原创 2019-07-02 11:52:53 · 121 阅读 · 0 评论 -
设计模式(七)------抽象工厂模式
前言抽象工厂模式相对于工厂方法模式进行了一些改进,使得增加新的类型的时候,不用修改工厂类,只要增加一个新的实现类,符合 开闭原则。代码发送信息接口public interface Sender { public void send();}发送短信和邮件的实现类public class SendMsg implements Sender { @Override ...原创 2019-07-02 12:10:19 · 135 阅读 · 0 评论