设计模式
cafe-BABE
嵌入式
展开
-
利用阻塞队列实现生产者消费者模式
public class Main{ public static BlockingQueue<Integer> blockingQueue = new ArrayBlockingQueue<>(5); public static boolean flag=true; class Producer implements Runnable { @Override synchronized public void run() { w..原创 2020-09-20 21:21:27 · 305 阅读 · 0 评论 -
【设计模式】什么是装饰器模式?
简介装饰器模式属于结构型模式,在不改变原有对象的基础上将功能附加到对象,相比继承可以更加灵活地扩展原有对象的功能。简单来说创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。装饰器模式适合的场景:在不想增加很多子类的前提下扩展一个类的功能。使用1、创建shape接口:2、创建接口的实现类,他就是被装饰的类:3、 装饰类的抽象类,同样实现了shape接口:4、 装饰类的具体实现,用来增强circle的功能:5、调用装饰类:原创 2020-07-13 21:10:22 · 375 阅读 · 0 评论 -
【模式设计】什么是代理模式?
简介作用:为某个对象提供一种代理,用来控制对这个对象的访问。具体完成:预处理消息、过滤消息并在此之后将消息转发给被代理类,之后还能进行消息的后置处理。代理类和被代理类通常会存在关联关系(即上面提到的持有的被代理对象的引用),代理类本身不实现服务,而是通过调用被代理类中的方法来提供服务。使用的地方:在直接访问对象时会带来许多问题,比如说:要访问的对象在远程的机器上。比如spring里面的AOP就是使用动态代理模式实现:动态代理实现 AOP,如果 Bean 实现了接口就使用 JDK 代理,否则使用.原创 2020-07-13 21:05:11 · 155 阅读 · 0 评论