![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
1e0zj
天道酬勤
展开
-
单例模式
懒汉模式 第一次被引用时,才会被实例化,需要考虑多线程问题可以用双重锁来实现同步并提高同步的效率 public class Singleton { private static Singleton instance; private Singleton(){} public static Singleton getInstance(){ if(instance==null){ s原创 2017-05-28 19:18:36 · 267 阅读 · 0 评论 -
装饰者模式
定义:动态给一个对象添加一些额外的职责,Decorator模式相比用生成子类方式达到功能的扩充显得更为灵活。 设计初衷:通常可以使用继承来实现功能的拓展,如果这些需要拓展的功能的种类很繁多,那么势必生成很多子类,增加系统的复杂性,同时,使用继承实现功能拓展,我们必须可预见这些拓展功能,这些功能是编译时就确定了,是静态的。 装饰者模式比继承更有弹性,因为他是对象之间的关系,是动态的。 要点原创 2017-05-29 22:12:00 · 301 阅读 · 0 评论 -
生产者消费者模式
方法一: wait() 和 notify() 通信方法实现 1.通过对象锁实现公共容器的同步,即一次只能有一个生产者往容器放产品或是一个消费者取出产品 package Consumerproducer; public class PublicContainer{ int capaticy=10; public synchronized void decr原创 2017-05-30 09:36:42 · 300 阅读 · 0 评论 -
责任链模式
责任链模式是一种对象的行为模式。在责任链模式里,由每一个对象对另一个的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。 源代码 4个不同的请求处理对象,通过对下一级请求的引用,实现责任链 package Chaino原创 2017-05-30 09:40:18 · 378 阅读 · 0 评论