
设计模式
牵着蜗牛去散步_
这个作者很懒,什么都没留下…
展开
-
静态代理和JDK动态代理
静态代理模式:首先实现代理模式,代理者和真正的实现者都要实现同一个接口,代理者真正调用接口方法时是由被代理者去实现的,代理者可在实现方法的前后加上自己的逻辑,例如,Spring aop在进入切点的时候会执行自己的逻辑.下面是静态代理的类图结构代码实现:接口定义:public interface Subject{ void excute(); void h...原创 2018-07-23 14:34:27 · 359 阅读 · 0 评论 -
Cglib代理实现
Cglib代理JDK的动态代理机制只能代理实现了接口的类,而不能实现接口的类就不能实现JDK的动态代理,cglib是针对类来实现代理的,他的原理是对指定的目标类生成一个子类,并覆盖其中方法实现增强,但因为采用的是继承,所以不能对final修饰的类进行代理。 闲话少说,直接上代码 被代理的类RealSubject 注意,这里的RealSubject和JDK动态代理的RealSubject有一...原创 2018-08-11 15:33:09 · 230 阅读 · 0 评论 -
简单工厂模式
简单工厂模式简单工厂模式是工厂方法的简化版,又称之为静态工厂方法 下面给出简单工厂方法的类结构有了类图结构就可以根据类图写出相应的代码了. 首先是产品类,我们将同一类产品抽象为一个接口,表示这是一类产品,例如汽车类,定义一个汽车Car接口Car汽车接口/** *@DESCRIPTION 这是一个汽车接口 *@AUTHOR SongHongWei *@TIME 2018...原创 2018-08-12 00:44:05 · 289 阅读 · 0 评论 -
工厂方法模式
工厂方法模式什么是工厂方法模式工厂方法模式使用的频率非常高, 在我们日常的开发中总能见到它的身影。 其定义为: Define an interface for creating an object,but let subclasses decide which class to instantiate.Factory Method lets a class defer instantia...原创 2018-08-12 16:30:04 · 224 阅读 · 0 评论 -
抽象工厂模式
抽象工厂模式说道抽象工厂模式前,首先需要理解两个概念,一个是产品等级,一个是产品族。产品等级产品等级结构即产品的继承结构,如一个抽象类是键盘,其子类有狼蛛键盘、雷柏键盘、联想键盘,则抽象键盘与具体品牌的键盘之间构成了一个产品等级结构,抽象键盘是父类,而具体品牌的键盘是其子类。也就是说具有共同父类的对象为一个产品等级产品族产品族是指由*同一个工厂生产的,位于不同产品等级结构中的一...原创 2018-08-12 17:55:55 · 246 阅读 · 0 评论 -
单例模式
单例模式定义Ensure a class has only one instance, and provide a global point of access to it. 也就是说:确保某一个类只有一个实例, 而且自行实例化并向整个系统提供这个实例。单例模式的类图单例模式的分类单例模式可分为,饿汉式和懒汉式饿汉式饿汉式顾名思义,迫不及待的就new一个对象出来,...原创 2018-08-12 19:56:08 · 141 阅读 · 0 评论 -
策略模式
定义策略模式(Strategy Pattern) 是一种比较简单的模式, 也叫做政策模式(PolicyPattern) 。 其定义如下: Define a family of algorithms,encapsulate each one,and make them interchangeable. 也就是:定义一组算法, 将每个算法都封装起来, 并且使它们之间可以互换。 这个模式...原创 2018-08-12 21:55:45 · 171 阅读 · 0 评论