![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
学习总结
zzypiper
Box stop here.
展开
-
Java动态代理
Java动态代理1 静态代理和动态代理1.1 代理模式1.2 静态代理1.2.1 什么是静态代理1.2.2 简单实现1.3 动态代理1.3.1 什么是动态代理1.3.2 简单实现2 动态代理的原理2.1 反射2.2 小结3 动态代理的几种实现方式3.1 基于JDK的动态代理3.2 基于CGLIB的动态代理4 AOP参考 1 静态代理和动态代理 1.1 代理模式 代理模式定义如下:为其他对象提供一组代理以控制对这个对象的访问。 适合代理模式的场景如下 不希望用户直接访问该对象,而是提供一个特殊的对象以控制对转载 2020-06-19 10:12:51 · 121 阅读 · 0 评论 -
设计模式(六)——责任链模式
责任链模式问题提出责任链模式简单实现加入反射回调技术应用示例异步调用 问题提出 在生活中,经常遇到这样的问题。例如:在企业中,员工请假的问题。假设假期少于一天,可由组长决定;少于两天的,可由车间主任决定;大于两天的,由经理决定。组长、主任、经理构成了一条功能链。员工逐级向上进行申请,直到获得授权。再比如生产产品,需要经过多道工序。 解决以上这些问题,责任链模式是一个较好的选择。 责任链模式 责任链...原创 2020-02-21 15:06:25 · 220 阅读 · 0 评论 -
设计模式(五)——原型模式
原型模式问题提出原型模式浅复制和深复制实现方法利用构造函数方法利用Cloneable接口方法利用Serializable序列化接口方法应用示例原型管理器 问题提出 在软件开发过程中,有时候会遇到为一个类创建多个实例的情况,这些实例内部成员变量完全相同或有细微的差异,而且实例的创建开销远大于或者需要输入较多的参数。如果能通过复制一个已创建的对象实例来重复创建 多个相同的对象,就可以大大减少创建对象的...原创 2020-02-20 10:11:43 · 106 阅读 · 0 评论 -
设计模式(四)——生成器模式
生成器模式问题提出生成器模式标准的生成器模式弱生成器模式通过派生类方式实现应用案例 问题提出 在类的应用中,有些简单的类是容易创建对象的,直接调用构造方法即可。例如: Student student = new Student("1001", "张三", 20); Circle circle = new Circle(10.0f); 而有些类却不宜直接创建对象的,成员变量是自定义类型,例如: p...原创 2020-02-19 22:11:11 · 171 阅读 · 0 评论 -
设计模式(三)——工厂模式
工厂模式场景分类简单工厂工厂抽象工厂应用示例 场景 工厂模式可以分为简单工厂、工厂、抽象工厂。 当用户需要一个类的子类实例,并且不希望与该类的子类形成耦合或者不知道该类有哪些子类可用时,可用采用工厂模式。 当用户需要系统提供多个对象,且希望和创建对象的类解耦时,可采用抽象工厂模式。 表1——小汽车工厂 单一产品系,工厂生产一种类的产品 高档 中档 低档 小汽车 √ √ √ 表...原创 2020-02-17 13:17:50 · 139 阅读 · 0 评论 -
设计模式(二)——单例模式
单例模式核心思想饿汉式懒汉式懒汉式+同步方法Holder方式(☆)其他单例模式 核心思想 保证单例模式只有一个实例的核心思想是构造方法私有化,单例模式可从3个属性评判: 单实例 懒加载 高性能 饿汉式 public final class Singleton { /** * 实例变量 */ private byte[] data = new byte[102...原创 2020-02-15 22:08:05 · 136 阅读 · 0 评论 -
设计模式(一)——概述
概述分类接口和抽象类反射 分类 常用设计模式共有24种,分为三大类:创建型模式、行为型模式、结构型模式。 创建型模式提供了一种在创建对象的同时,隐藏创建逻辑的方式,而不是使用新的运算符直接实例化对象。常用的创建型模式包括: 单例模式 简单工厂模式 工厂模式 抽象工厂模式 生成器模式 原型模式 行为型模式特别关注对象之间的通信。常用的包括: 责任链模式 命令模式 迭代器模式 访问者模式 中介者...原创 2020-02-15 16:30:14 · 116 阅读 · 0 评论