-
漫谈设计模式
收藏本栏主要介绍和讨论设计模式,以及相关的软件设计
最近更新文章
DDD与TDD比较之——DDD
DDD与TDD比较之——DDD
最近承诺要写一篇TDD和DDD区别的文章,在比较之前,我这里会先分别给出一个DDD的开发实例和TDD的开发实例。这篇文章主要讲解DDD。
几年前,曾接手了别人写了一半的一个项目,新加一些功能,然而模型不是很清晰,虽然反映了外部的业务逻辑,但是为了一些新的功能或者特殊案例,我们需要加一些特殊处理。由于模型不够清晰,原本1天能做的的东西,往往需要4- ...
新书上架,《漫谈设计模式——从面向对象开始》(有电子版)
千呼万唤,我的书籍《漫谈设计模式》终于出版了!
为写这本书,我花了两年多的时间,至此,我感谢所有那些一直在我身边支持我的人,我衷心的感 ...
学习设计模式的一些常见问题
根据最近热心读者的反馈,这里列出来一些常见的设计模式的问题,进行解答。如何领悟设计模式中的面向对象思想,还是请下载《漫谈设计模式》
学习设计模式的一些常见问题
1. 模式有没有标准形式?
GoF为了描述每一种设计模式,给它们定义了四个基本要素,旨在模式使模式能够得到广泛传播,这并不代表GoF给出的模式就是标准模式。事实上,他们也没有给每一种模式给出标准,而是很多地方给出了它们可能的变化,比如像组合( ...
关于漫谈设计模式4.2.3章节的一点申明
之前比较懒,对ThreadLocal代码未做细细研究,而是受一些影响,而导致对其产生了一些误解,最近考略到jvm对classloader的回收问题时,我才意识到可能犯了一个错误,我把这个错误写在博文里,链接是http://redhat.iteye.com/blog/1057974,读者可以查阅该文章,关于这个章节的一点错误,如果我的书籍能够出版的话,我将在里面进行更新,或者我会给出新版本电子书籍,如 ...
ThreadLocal的误解
可能大部分人的想法和我当初的想法一样,都是以为在ThreadLocal里使用一个Map,这个Map的键为Thread,值为绑定的变量。其实如果这样做是有问题的:
1. 就是当线程回收时,该线程绑定的变量不能被自动的回收,因为变量存储在ThreadLocal里,必须显式的去回收。如果此变量存储在线程里,那么线程回收时,这个变量没有被其他引用指向的话,它便随着线程一起回收。
2. 另外不这样做还有一个好 ...