设计模式
文章平均质量分 57
SUN123565
这个作者很懒,什么都没留下…
展开
-
几种单例创建的方式
(1) 直接加载,无论是否需要,只要类被虚拟机加载,这个单例就存在 private static DirectSingleton directSingleton = new DirectSingleton(); public static DirectSingleton getInstance() { return directSingleton; }原创 2016-09-18 13:58:59 · 453 阅读 · 0 评论 -
java 枚举使用中注意的问题
通常在需要使用数据集合的时候,枚举便派上了用场。大多数情况下使用枚举的时候无意识的不会去修改里面的值。那么枚举中的值到底能不能修改呢? 答案是:一旦定义了枚举,最好不要妄图修改里面的值,除非修改是必要的。 今天遇到的问题就是和枚举相关的,因为之前并不知道枚的对象实际上是单例,导致了非常严重的问题先看下代码(1)定义的枚举: public enum SquareAreaEn原创 2016-09-18 13:58:12 · 1599 阅读 · 0 评论 -
Builder模式
Builder模式适合于属性比较多的对象,避免不停调用set方法进行属性注入。核心思想是在外部类中提供一个静态方法构建一个内部类的对象,再通过使用静态的内部类构建外部类对象。缺点是内部类和外部类几乎拥有相同的属性。原创 2016-09-18 14:07:20 · 442 阅读 · 0 评论 -
观察者模式(Observer Pattern)
简介观察者模式(Observer Pattern)通常用在 一对多的对象关系中。比如说,一个对象被改变,所有依赖他的对象都可以做出响应。观察者模式也被叫做发布-订阅(Publish/Subscribe)模式,监听模式等。目前非常流行的nodejs框架使用的事件驱动模型也是利用观察者模式实现的。观察者模式(Observer pattern)属于行为模式。翻译 2017-03-09 07:42:33 · 276 阅读 · 0 评论 -
观察者模式(Observer Pattern)升级版
简介前面的博客https://goo.gl/DFOz50中已经介绍过基本的观察者模式的代码实现,在实际应用中,我们往往希望代码更加简洁,同时也希望能与现有的框架,比如Spring,结合起来。下面介绍如何做抽象。简单抽象前面介绍过观察者模式有Subject,Observer,Client几种角色。在使用面向对象的时候Subject 和Observer都可以被抽象成接口。原创 2017-03-10 09:12:20 · 420 阅读 · 0 评论 -
Builder模式
Builder模式适合于属性比较多的对象,避免不停调用set方法进行属性注入。核心思想是在外部类中提供一个静态方法构建一个内部类的对象,再通过使用静态的内部类构建外部类对象。缺点是内部类和外部类几乎拥有相同的属性。 里面的关键点:(1)外部类的builder方法创建内部类(2)静态内部类(3)内部类的append方法(4)内部类的build方法,得到外部类的对象,构建完...原创 2016-09-13 10:39:47 · 115 阅读 · 0 评论