设计模式
yeah_you_are
每天进步一点点,终会成为那个你想成为的人!!!
你以为是捷径,却可能反而绕了远路!!!
展开
-
观察者模式-数据池
一、描述 当对象间存在一对多关系时,则适合使用观察者模式(Observer Pattern)。当一个对象的装态被改变时,则应该通知它的观察者对象,这就是观察者模式。 二、代码实现 被观察者类 public class Subject { private int status; private List<Observer> observers = new ArrayList<>(); /** 添加观察者对象 */ public void attach(原创 2022-01-23 19:40:34 · 197 阅读 · 0 评论 -
享元模式-缓存池
描述 享元模式(Flyweight Pattern)主要作用就是减少对象的创建,达到减少内存和提高性能的目的。为了实现这个目的,就需要一个数据结构存储实例化后的对象,需要时直接从中获取。 关键:使用Map或者Set作为存储对象的逻辑,即确保缓存池中存储的对象是唯一的。曾使用队列和List实现存储对象的逻辑,后来在使用缓存池中的对象时出现前后重复的,造成数据计算出现幻读问题。 应用 在图像中,一条线段中使用最多的对象就是点,这里就可以使用缓存池缓存点对象,达到复用内存的目的。 Point类 public原创 2022-01-18 23:01:35 · 332 阅读 · 0 评论 -
动态代理设计模式
动态代理工厂 import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; public class ProxyFactory { //目标对象 被代理对象 private Object target; //前置增强 private BeforeAdvice beforeAdvice; //后置增强原创 2021-05-11 10:47:00 · 54 阅读 · 0 评论