学而之不足
生于砀山,学在西安,现在北京,名不见经传,唯学而充己...
代理模式 代理模式
介绍引入一个新的代理对象, 代理对象在客户端对象和目标对象之间起到中介的作用, 它去掉客户不能看到的内容和服务或者增添客户需要的额外的新服务. 结构 代理类 被代理类 客户端DemoSpringAop代理的选择 jdk动态代理及源码解析cg
2018-12-12
桥接模式 桥接模式
介绍将继承关系转化成关联关系, 降低类与类之间的耦合度, 使系统更加灵活, 减少了系统中类的数量. 结构 抽象类: 一般是抽象类而不是接口, 其中定义了一个Implementor(实现类接口)类型的对象并可以维护该对象. 扩充抽象类 实现类
2018-12-12
组合模式 组合模式
介绍对树形模式处理相对合适, 将对象组合成树形结构以表示“部分-整体”的层次结构, 使得用户对单个对象和组合对象的使用具有一致性. 结构 抽象构件 叶子构件 容器构件 Demo以文件夹举例, 定义公共抽象, 文件夹为容器构件, 文件为叶
2018-12-10
享元模式 享元模式
介绍运用共享技术有效地支持大量细粒度对象的复用. 结构 抽象享元类 具体享元类 非共享具体享元类 享元工厂类 举例: java.lang.Integer#valueOf(int) Demo抽象享元类public interfa
2018-12-07
适配器模式 适配器模式
介绍将一个接口转换成客户希望的另一个接口, 使接口不兼容的那些类可以一起工作, 其别名为包装器(Wrapper). 结构 目标抽象类: 目标抽象类定义客户所需接口, 可以是一个抽象类或接口, 也可以是具体类. 适配器类: 转换器, 它通过继
2018-12-06
装饰者模式 装饰者模式
介绍在不必改变原类文件和使用继承的情况下, 动态地扩展一个对象的功能. 结构 抽象构件: 具体构件和抽象装饰都是抽象构件的子类 具体构件 抽象装饰 具体装饰 mybatis -> org.apache.ibatis.cache.C
2018-12-05
外观模式 外观模式
介绍外观模式又称为门面模式, 为子系统中的一组接口提供一个统一的入口.主要作用是通过客户端统一调用外观角色, 降低系统的复杂程度. 结构 Facade(外观角色) SubSystem(子系统角色) Demo外观(门面)进行统一处理, 外界
2018-12-04
原型模式 原型模式
介绍java通过实现Cloneable接口, 重写clone方式, 快速实现克隆对象, 每个克隆对象是独立的, 在内存的相应地址也不同. 结构 抽象原型 具体原型 客户类 Demo/** * 使用java 自带的 clone 方法
2018-12-03
抽象工厂模式 抽象工厂模式
简介工厂的工厂, 在工厂的基础上进行抽象, 用来获取工厂, 然后通过工厂获取一类产品和工厂方法的主要区别是: 工厂方法每次获取的是单个产品的工厂, 而抽象工厂则是一类产品 结构 抽象工厂 具体工厂 抽象产品 具体产品 Demo 抽象工厂p
2018-11-25
工厂方法模式 工厂方法模式
简介 不同的结构 抽象工厂 具体工厂 抽象产品 具体产品 Demo抽象工厂public interface FoodFactory { Food produceFood(); } 具体工厂具体工厂用来实现抽象工厂, 并且实现其
2018-11-21
使用枚举实现单例 使用枚举实现单例
简介介绍使用枚举的方式创建单例, 其他方式可以参考单例模式 代码 /** * 使用枚举单例 * * @author liuzhihang * @date 2018/8/17 17:34 */ public class Single
2018-08-17
懒汉单例模式线程安全 懒汉单例模式线程安全
简介一个类中只有一个实例, 且能够自行实例化提供这个实例, 同时提供全局访问的方法. 结构1.构造私有化: 确保外部不能使用new直接创建对象2.内部静态属性创建实例3.对外公共静态获取对象方法 demo/** * 单例模式 * 1.
2018-02-21
1 / 2