设计模式
文章平均质量分 63
柠檬2312
Coding事,匠人心,手艺人。
展开
-
设计模式----代理模式(Proxy)(静态代理模式)
代理模式(Proxy)代理模式分为静态代理和动态代理,有代理对象叫做静态代理,没有代理对象叫做动态代理代理模式的作用是:为其他对象提供一个代理以控制对这个对象的访问。 在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。代理模式一般涉及到的角色: - 抽象角色:声明真实对象和代理对象的共同接口 - 代理对象:代理对象角色内部含有对真实对象的原创 2017-11-13 13:54:22 · 213 阅读 · 0 评论 -
设计模式----工厂模式
在看工厂模式之前我们先了解一下面相对象的原则。面向对象设计的基本原则 - OCP开闭原则:一个软件的实体应当对扩展开放,对修改关闭。 - DIP依赖倒转原则:要针对接口编程,不要针对实现编程 - LOD迪米特法则:只与你直接的朋友通信,而避免和陌生人通话。工厂模式实现了创建者和调用者的分离,下面我用汽车类的例子来介绍。详细分类 - 简单工厂模式 - 工厂方法模式 - 抽象工厂模式简单原创 2017-11-10 18:28:34 · 173 阅读 · 0 评论 -
设计模式----单例模式(singleton)
单例模式分为两种:饿汉式、懒汉式既然是单例模式,那么就只有一个实例,那么构造方法就是私有的,就需要创建一个对象,而且也需要是私有的,但是需要调用所以要设置成静态的,然后提供一个方法拿到这个私有的对象。 一个类只会生成唯一的一个对象。单例模式:饿汉式1.私有构造方法 2.创建私有的静态对象 3.创建一个公共公开的方法,返回该私有对象public class Single1 { private原创 2017-11-10 16:49:16 · 145 阅读 · 0 评论 -
设计模式----策略模式(Strategy Pattern)
策略模式(Strategy Pattern)中体现了两个非常基本的面相对象设计的原则: 1. 封装变化的概念 2. 编程中使用接口,而不是对接口的实现策略模式的定义 : - 定义一组算法,将每个算法都封装起来,并且 使它们之间可以互换。 - 策略模式使这些算法在客户端调用它们的时候 能够互不影响地变化策略模式的意义 - 策略模式使开发人员能够开发出由许多可替换 的部分组成的软件,并且各个原创 2017-11-09 17:09:28 · 172 阅读 · 0 评论 -
设计模式---代理模式(Proxy)(动态代理)
动态代理Java动态代理类位于java.lang.reflect包下,一般主要 涉及到以下两个类: (1)Interface InvocationHandler接口:该接口中仅定义了 一个方法 public object invoke(Object obj,Method method, Object[] args) 在实际使用时,第一个参数obj一般是指代理类,代理实例的方法被调用 第二个参数m原创 2017-11-13 17:17:12 · 330 阅读 · 0 评论 -
设计模式----装饰模式
装饰模式又名包装(Wrapper)模式 • 装饰模式以对客户端透明的方式扩展对象 的功能,是继承关系的一个替代方案 • 装饰模式以对客户透明的方式动态的给一 个对象附加上更多的责任。换言之,客户 端并不会觉得对象在装饰前和装饰后有什么不同。• 装饰模式可以在不创造更多子类的情况下, 将对象的功能加以扩展。• 装饰模式把客户端的调用委派到被装饰类。 装饰模式的关键在于这种扩展完全是透明的。• 装饰模式原创 2017-11-22 09:50:43 · 182 阅读 · 0 评论