
设计模式
文章平均质量分 88
philpy_used
这个作者很懒,什么都没留下…
展开
-
【代理模式】静态代理 | 动态代理
代理模式 代理模式是面向对象编程中比较常见的设计模式。 我们一一个新建的简单的CRUD例子为例: 一个CRUD接口有四个方法(增删改查),用户去使用的时候可以调用这个接口的实现类CRUDImpl: 但是一旦我们想要增加某些功能,比如说想要输出日志,那么我们就需要去修改CRUDImpl的源代码,在大项目中,这样做是有风险的。所以我们如何可以在不改变底层源代码的基础上实现功能扩展呢?这就用到了代理类: 我们新建一个代理类CRUDImplProxy同样也是实现了CRUD接口,但是它的内部还有一个私有属性为CRU原创 2021-03-10 20:06:55 · 165 阅读 · 0 评论 -
单例模式与反射的攻防之【 道高一尺,魔高一丈 】
文章目录饿汉模式没有保护的饿汉模式(可以被反射破坏)反射破坏普通饿汉模式带有保护的饿汉模式(构造函数加锁防反射)反射尝试破坏带有保护的饿汉模式懒汉模式基本的懒汉模式(线程不安全)基本的懒汉模式(线程安全)synchronizedReentrantLock双检锁(DCL)懒汉模式反射破坏带有保护的懒汉模式(构造函数加锁)反射破坏带有保护的懒汉模式(构造函数加锁 + 信号灯保护机制)反射破坏带有保护的懒汉模式(构造函数加锁 + 计数器保护机制)静态内部类静态内部类单例反射破坏静态内部类单例:枚举枚举实现单例模式原创 2021-05-08 10:23:01 · 558 阅读 · 1 评论