
设计模式
Crystal_Mria
一个普通的小小程序员,我的心愿是--世界和平。
展开
-
设计模式(一)工厂方法模式
工厂方法模式(Factory Method)定义了一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到子类。代码实例 定义一个接口public interface Sender { public void Send(); } 定义两个实现类public class MailSender implements Sender { ...原创 2018-08-20 17:24:36 · 163 阅读 · 0 评论 -
设计模式(二)抽象工厂模式
工厂方法模式和抽象工厂模式不好分清楚,他们的区别如下:工厂方法模式: 一个抽象产品类,可以派生出多个具体产品类。 一个抽象工厂类,可以派生出多个具体工厂类。 每个具体工厂类只能创建一个具体产品类的实例。抽象工厂模式: 多个抽象产品类,每个抽象产品类可以派生出多个具体产品类。 一个抽象工厂类,可以派生出多个具体工厂类。 每个具体工厂类可以创建多个具体产品类的实例,也就是创建的是一...原创 2018-08-20 20:15:59 · 202 阅读 · 0 评论 -
设计模式(三)单例模式
单例对象能保证在一个JVM中,该对象只有一个实例存在。 优点: 1、某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。 2、省去了new操作符,降低了系统内存的使用频率,减轻GC压力。 3、有些类如交易所的核心交易引擎,控制着交易流程,如果该类可以创建多个的话,系统完全乱了。volatile 加 双重锁定;class Singleton{ private st...原创 2018-08-20 20:28:41 · 149 阅读 · 0 评论 -
设计模式(四)适配器模式
主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。原创 2018-08-21 14:19:18 · 177 阅读 · 0 评论 -
设计模式(五)装饰器模式
装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口//Source类是被装饰类,Decorator类是一个装饰类,可以为Source类动态的添加一些功能public interface Sourceable { public void method();} public class Source implements Sourc...原创 2018-08-21 14:29:24 · 159 阅读 · 0 评论 -
设计模式(六)责任链模式
责任链模式,有多个对象,每个对象持有对下一个对象的引用,这样就会形成一条链,请求在这条链上传递,直到某一对象决定处理该请求。但是发出者并不清楚到底最终那个对象会处理该请求,所以,责任链模式可以实现,在隐瞒客户端的情况下,对系统进行动态的调整。Abstracthandler类提供了get和set方法,方便MyHandle类设置和修改引用对象,MyHandle类是核心,实例化后生成一系列相互持有的...原创 2018-08-21 14:34:37 · 163 阅读 · 0 评论 -
设计模式总结
一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。其实还有两...原创 2018-08-20 17:29:32 · 146 阅读 · 0 评论