设计模式
好小伙17
学无止境
展开
-
委派模式(Delegate Pattern)
负责任务的调度和任务分配,将任务的分配和执行分离开来,可以看做是一种特殊情况下的静态代理的全权代理优点:通过任务委派能够将一个大型的任务细化,然后通过统一管理这些子任务的完成情况实现任务的跟进,能够加快任务执行的效率缺点:代码混乱public interface IEmployee { void doing(String task);}/** * UI设计 */pu...原创 2020-04-22 11:28:34 · 196 阅读 · 0 评论 -
享元模式
运用共享技术来有効地支持大量细粒度对象的复用public interface ITicket { void showPrice();}public class FlyITicket implements ITicket { private String from; private String to; private BigDecimal price;...原创 2020-04-21 14:43:34 · 96 阅读 · 0 评论 -
手写JDK动态代理实现原理
JDK动态代理生成对象的步骤;1.获取被代理对象的引用,并且通过反射获取它的所有接口2.重新生成新的类,实现被代理类的接口3.动态生成java代码4.编译java代码,生成class文件5.重新加载到JVM中运行以下为实例代码public interface IAnimal { /** * 运动 */ void motion();}pub...原创 2020-04-08 16:00:45 · 197 阅读 · 0 评论 -
代理模式
1.静态代理/** * 代理接口 */interface IAnimal { /** * 运动 */ void motion();}public class Cat implements IAnimal { @Override public void motion() { System.out.println("c...原创 2020-03-26 21:32:15 · 102 阅读 · 0 评论 -
建造者模式
建造者(Builder)模式的定义:指将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示优点:1各个具体的建造者相互独立,有利于系统的扩展。2客户端不必知道产品内部组成的细节,便于控制细节风险。缺点:1产品的组成部分必须相同,这限制了其使用范围。2如果产品的内部变化复杂,该模式会增加很多的建造者类。基本写法/** * 组装车-抽象类 */abstract...原创 2020-04-08 10:28:23 · 113 阅读 · 0 评论 -
原型模式
原型(Prototype)模式的定义如下:用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的新对象。优点:1.性能优良,java自带的原型模式是基于二进制流的拷贝,比直接new一个对象性能提升了缺点:没要每个类重写clone方法1. 原型模式的通用写法/** * 原型接口 */public interface IPrototype<T> {...原创 2020-04-07 15:54:58 · 106 阅读 · 0 评论 -
单例模式(各种模式的详细代码介绍)
单例(Singleton)模式的定义:指一个类只有一个实例,且该类能自行创建这个实例的一种模式单例模式有 3 个特点:单例类只有一个实例对象;该单例对象必须由单例类自行创建;单例类对外提供一个访问该单例的全局访问点;分为以下单例模式1 饿汉式/** * 1.饿汉式 * 优点:执行效率高,性能高,没有任何的锁 * 缺点:某些情况下,可能会造成内存浪费 */public cl...原创 2020-03-31 11:37:41 · 1237 阅读 · 0 评论