
设计模式
你的酒窝里有酒
加油!!!
展开
-
工厂设计模式
工厂方法设计模式工厂是用来生产商品的,对应到java中就是用来产生对象的。定义:定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类,工厂方法让类的实例化延迟到子类中进行。简单工厂模式概要一个抽象产品类具体产品类一个工厂优点:简单易于实现把类的实例化交给工厂,易于解耦缺点:添加具体产品需要修改工厂违反OCP开放封闭原则...原创 2019-07-20 11:21:32 · 212 阅读 · 0 评论 -
代理模式
代理模式定义:为其他对象提供一种代理,以控制对这个对象的访问。代理对象在客户端与目标对象之间起到中介作用。如:客户与房东之间存在一个代理,房子中介,房子中介就是房东的代理,客户不用与房东之间接触,直接与房东办理租房手续。代理的适用场景保护目标对象(代理出面,幕后人物无需直接参与)增强目标对象代理模式的优点将代理对象与真实对象分离(真实业务与辅助业务解耦)。降低了系统的耦合度,...原创 2019-07-20 10:52:55 · 154 阅读 · 0 评论 -
单例设计模式
单例模式定义:一个类自始至终仅有一个实例。优点:在内存中仅有一个实例对象,减少内存开销。缺点:没有接口,拓展困难饿汉式单例构造方法私有化,保证在类外不能创建对象在类中创一个实例对象提供对外的方法,将实例对象返回。public class Singleton { private static Singleton ourInstance = new Singleton();...原创 2019-07-17 17:58:24 · 385 阅读 · 0 评论 -
模板方法设计模式
模板方法设计模式定义了一个算法的骨架,并允许子类为一个或者多个步骤提供相应的实现。举例把东西装进冰箱打开冰箱门把东西装进去关闭冰箱门总之这个步骤是不变的,这个便是模板,但一些细节可以由子类具体实现,如何打开冰箱门?打开哪个冰箱门,装什么东西,等等都交由子类实现,只要遵从这个步骤即可。使用场景一次性实现一个算法中不变的部分,将可变的部分交由子类实现。让子类扩展实现固定模板中的某...原创 2019-07-17 14:01:26 · 184 阅读 · 0 评论