设计模式
236004
这个作者很懒,什么都没留下…
展开
-
单例的五种实现方式,及其性能分析
序言在23种设计模式中,单例是最简单的设计模式,但是也是很常用的设计模式。从单例的五种实现方式中我们可以看到程序员对性能的不懈追求。下面我将分析单例的五种实现方式的优缺点,并对其在多线程环境下的性能进行测试。实现单例模式适用于资源占用较多的类,保证一个类只有一个实例即单例。通用的做法就是构造器私有化,提供一个全局的访问点,返回类的实例。uml图: 1.饿汉式/** * 饿汉式 * @Descr...转载 2017-07-09 09:48:31 · 9679 阅读 · 0 评论 -
java EE单例Singleton自启动
多个单例随服务自启动(指定各个单例启动的顺序)@DependsOn("单例类名称")/@DependsOn({"单例类名称1","单例类名称2","单例类名称3"})java EE提供2种并发管理:容器管理并发、Bean管理并发容器管理并发:容器负责处理读写访问相关的一切事宜;Bean管理并发:需要开发者使用同步等传统的java方法来处理并发。默认情况下,java EE使用原创 2017-07-09 16:27:52 · 10859 阅读 · 0 评论 -
javaEE注解@Decorator/@Delegate/@Observes/@Produces/@Alternative
java EE CDI容器中,装饰模式使用了@Decorator/@Delegate注解,需要在bean.xml中指定装饰顺序java EE CDI容器中,工厂模式使用@Produces注解标识生产者方法java EE CDI容器中,观察者模式使用@Observes注解@Alternative注解+bean.xml文件添加配置,解决一个接口,多个实现类引入正确的匹配问题原创 2017-08-14 19:20:25 · 11864 阅读 · 0 评论 -
设计模式之不变模式(Immutable Pattern)分析
不变模式(immutable pattern) 一个类的内部状态创建后,在整个生命期间都不会发生变化时,就是不变类。这种使用不变类的做法叫做不变模式。 不变模式有两种形式:一种是弱不变模式,另一种是强不变模式。 弱不变模式: 一个类的实例的状态是不可变化的,但是这个类的引用的实例具有可能会变化的状态。这样的类符合弱不变模式的定义。要实现弱不变模式,一个类必须满足如下条件:转载 2018-01-25 10:49:38 · 2010 阅读 · 0 评论 -
观察者模式的缺点
观察者模式的缺点:运行效率较低,一个被观察者,多个观察者时,开发代码和调试会比较复杂,java中消息的通知是默认顺序执行的,若其中一个观察者卡壳,会影响到此观察者后面的观察者执行,影响整体的执行, 多级触发时的效率更让人担忧。(遇到此问题应该考虑使用异步的方式)观察者模式的邮电实例:package designMode.observable;import j原创 2017-01-15 15:00:21 · 11742 阅读 · 0 评论