随笔分类 - 设计模式
摘要:单例模式可以保证系统中一个类只有一个实例。即一个类只有一个对象实例。 一般写法 上述写法在高并发环境下存在安全问题,比如通过200个线程同时获取DCLSingle单例对象,但会创建多个实例。 测试结果如下: DCL单例模式可以很好的解决上述高并发环境下的安全性问题。 其中添加修饰符volatile,
阅读全文
摘要:静态代理 静态代理中的代理类和委托类会实现同一接口或是派生自相同的父类。 由业务实现类、业务代理类 两部分组成。业务实现类 负责实现主要的业务方法,业务代理类负责对调用的业务方法作拦截、过滤、预处理,主要是在方法中首先进行预处理动作,然后调用业务实现类的方法,还可以规定调用后的操作。我们在需要调用业
阅读全文
摘要:桥接模式简介 桥接模式可以取代多层继承结构、处理多维度变化的场景,将各个维度设计成独立的继承结构,使各个维度可以独立的扩展在抽象层建立联系。 桥接模式实际开发中的应用场景 --JDBC驱动程序 --AWT中的Peer架构 --人力资源系统中的奖金计算模块 奖金分类:个人奖金、团队奖金、激励奖金 部分
阅读全文
摘要:定义 定义对象间一种一对多的依赖关系,使得当每一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新 结构 在最基础的观察者模式中,包括以下四个角色: 被观察者:从类图中可以看到,类中有一个用来存放观察者对象的Vector容器(之所以使用Vector而不使用List,是因为多线程操作时,Vec
阅读全文
摘要:迭代器模式介绍 提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示。迭代器是可以从前往后,或者从后往前遍历的。为遍历不同聚集结构提供如:开始,下一个,是否有下一个,是否结束,当前哪一个等等的一个统一接口。 聚合对象:存储数据 迭代器:遍历数据 迭代器模式UML图 迭代器代码实
阅读全文
摘要:责任链模式:将能够处理同一类请求的对象连成一条链,所提交的请求沿着链传递,链上的对象逐个判断是否有能力处理该请求,如果能则处理,如果不能则传递给链上的下一个对象。 开发中常见场景: - java中,异常机制 - javascript语言中,事件的冒泡和捕获机制 - Servlet开发中,过滤器的链式
阅读全文

浙公网安备 33010602011771号