小弟我写的设计模式,准备续写上去,请大家支持_2010317更新

我写的设计模式,准备续写下去,请大家支持_2010317更新
[/b]觉的好你就吼两声;
觉的孬就骂两声;

我喜欢简单的思维,想用历史故事、幽默场景、现实生活表现设计模式,尽量想表现的轻松些,不想用一大堆的术语来描述,我是不很喜欢用看不懂的汉字描述一个问题,看看那些翻译的文档,所以自己想做点东西出来。

欢迎交流,真的,指正,臭骂都成。

[b]请大家回帖的时候,不要使用“顶”、“好”等语句,尽量能够切题讨论设计模式,提出错误,或者更优方案,这样你进步,我也进步。


20090524更新:
增加了桥梁模式
到现在为止,我估计已经完成整本书的1/4,但是还没有一个优秀的名字,现在隆重的开始征名,奖励嘛,如果书籍出版的话,送你一本,不出版的话,那个送你10W份电子文档,哈哈。
太欣赏像中原一点红、西门吹雪、孤独求败、东方不败这样的名字,太经典了,敬仰崇拜呀,给我这样一个名字吧

20090530更新:
增加命令模式和装饰模式

20090608更新:
增加迭代器模式和组合模式,增加了后序。

20090618更新:
增加观察者模式,讲述李斯和韩非子之间的故事

20090622更新:
增加责任链模式,增加了页面标签;

20090628更新:
增加状态模式

2009年7月5日:
增加访问者模式、单一职责原则、迪米特法则、里氏替换原则;并且整理了一下文档的格式,更清晰一些。

2009年7月13日:
增加原型模式。

2009年7月26日:
增加中介者模式、迪米特法则、依赖倒置法则

2009年8月5日:
增加开闭原则

2009年8月13日:
增加解释器模式。

2009年9月16日:
增加了一篇混编模式
不好意思,这段时间主要是在整理之前写的文件,预计10月份会放出来整理过的文件,更通俗,更严谨,同时结构也更清晰,到时候希望大家捧场。

2009年10月17日:
更新了享元模式和备忘录模式。
跟大家说声:非常抱歉,这段时间确实非常忙,文档在更新,准备出书,各个技术细节都需要考虑、验证,所有没有来得及更新,请大家谅解。

2010年3月17日:
本书已经出版,预计下周(3月22日)上市,谢谢大家关注,书名《设计模式之禅》。

china-pub的预定在这里:http://www.china-pub.com/196412
****的课堂在这里:http://student.****.net/?259146
234 楼 wtslh 2010-03-16  
太好了,虽然楼主不让这么说。
正愁看那几本砖头头大呢,搜索到楼主的PDF,非常感谢。
不过想提个建议,PDF能加上目录吗,我是指在阅读您的文章时,如果突然需要回顾前面某个章节,我需要不断的翻页或者跳转到某个指定页。
如果在PDF Reader左边有目录导航,我就可以快速找到我需要的章节了。

再次感谢楼主。
235 楼 wtslh 2010-03-16  
另外发现您提供的源码下载地址:
http://cbf4life.free.66ip.com/source-code.rar
无法打开链接,请修正或者提供其他下载地址,非常感谢。
236 楼 cbf4life 2010-03-17  
书籍已经出版,非常感谢大家的支持,这里鞠躬感谢!
书名叫做《设计模式之禅》
237 楼 justlive 2010-03-18  
楼主太高尚了,电子版免费提供了。 thx。
238 楼 cbf4life 2010-03-18  
justlive 写道
楼主太高尚了,电子版免费提供了。 thx。


呵呵,高尚算不上,投桃报李嘛,没有大家的顶贴也可能有这本书的出版。
239 楼 andyu2008 2010-03-19  
有点浅,有些字面解释的味道
240 楼 myclover 2010-03-19  
谢谢哈,太牛了!
241 楼 ywlqi 2010-03-19  
LZ你好,刚才拜读了一下你的大作,关于单一职责原则想跟你请教一下,就书中的例子,用户属性和用户行为分开为两个接口,真的有必要吗?我记得有本书说过,对象是拥有责任的某种东西,就是说对象是包括属性和行为的,这样的对象才完整,如果是这样,那为什么要分为两个接口?难道系统允许某些对象只实现属性或只实现行为吗?

书中同章节关于IUserManager的例子,change方法拆分的如此细致,如果要同时修改地址和电话两个属性的话怎么办?当然,我也不是说public void changeUser(IUserBO userBO, int type, String...changeOptions)这样好,只是就行为的粒度有些疑问,希望LZ解答,谢谢
242 楼 sxl1001 2010-03-19  
我是初学者,发表不了什么高见,但是对作者一定要支持一下
243 楼 cbf4life 2010-03-19  
ywlqi 写道
LZ你好,刚才拜读了一下你的大作,关于单一职责原则想跟你请教一下,就书中的例子,用户属性和用户行为分开为两个接口,真的有必要吗?我记得有本书说过,对象是拥有责任的某种东西,就是说对象是包括属性和行为的,这样的对象才完整,如果是这样,那为什么要分为两个接口?难道系统允许某些对象只实现属性或只实现行为吗?

书中同章节关于IUserManager的例子,change方法拆分的如此细致,如果要同时修改地址和电话两个属性的话怎么办?当然,我也不是说public void changeUser(IUserBO userBO, int type, String...changeOptions)这样好,只是就行为的粒度有些疑问,希望LZ解答,谢谢


能读这么细,说明你很好学。 如果设计都只遵循一个原则的话,那都是极端的,而且也不现实的,比如就这个单一职责原则吧,它要求一个类只实现一个职责,这是类的特质,至于属性和行为只是用来描述职责的,因此并这个原则没有说明一个类只有属性或者只有行为。呵呵,当然了,在这本书我也说了,“职责”是没有度量的标志,不像一斤油、一米长等等可以度量的标准,电话那个例子就是个很好的说明。

至于说IUserManager这个例子,只是强调方法的单一职责,你说的同时修改地址和电话两个属性,可以认为是一个职责,就需要新增加一个方法。——真是的项目开发我们不会这么傻,这也是单一职责原则“hard to see"的原因。
244 楼 cbf4life 2010-03-19  
myclover 写道
谢谢哈,太牛了!


谢谢!
245 楼 cbf4life 2010-03-19  
andyu2008 写道
有点浅,有些字面解释的味道


呵呵,现在提供的那个电子版只能算上市草稿的草稿,出版的书作了很多深入探讨。
246 楼 cbf4life 2010-03-19  
sxl1001 写道
我是初学者,发表不了什么高见,但是对作者一定要支持一下


我也支持你,一起学习!
247 楼 liberD 2010-03-20  
下好了!看了前两章了,很能扯!不多。技术文档应该写得风趣点!!
248 楼 ywlqi 2010-03-23  
cbf4life 写道
andyu2008 写道
有点浅,有些字面解释的味道


呵呵,现在提供的那个电子版只能算上市草稿的草稿,出版的书作了很多深入探讨。


如果是这样我给LZ一个建议,在选取例子时尽量选经典例子,以免像我这样的人对例子想不明白而怀疑自己的编程能力,毕竟我这样的大多数人觉得能出书的都是大牛

PS:我前面的帖子提到的那本书我想起来了,叫《设计模式精解》,其他的章节我都忘了,但第一章用于解释什么是对象的例子,说教师和学生的,个人奉为经典,这么多年一直记忆犹新
249 楼 javazeke 2010-03-26  
看过,想过,顿悟过,跑来说声谢谢!
250 楼 highill 2010-03-28  
内容很好……
呵呵 个人不太喜欢禅之类,有点非动词非名词的感觉

如果换成 悟 通过你领悟来带动大家 或许更好

251 楼 tzjzzhang 2010-04-12  
请问没有提供源码下载吗?
252 楼 fehly 2010-04-21  
不过大话设计模式是c#的你这个可以为java的了呵呵
253 楼 xnxqs 2011-07-28  
偶看的电子版,没能给老兄物质上的支持还请见谅,不过我推荐我的学生去买了,结果有天在群里面发现这样的一句话:“真是物以类聚啊,偶们老师推荐的技术书里面都可以用上潘金莲。。。” 流汗ing.....
另外有个问题说明一下,不知道你的印刷版里面是否也有这个问题。

27.1 命令模式+责任链模式
这一章的public class LS_A extends AbstractLS { 还有ls_b ,ls_c这几个类里面有一句话
return FileManager.ls_a(vo.formatData());
但在你的vo类里面是没有formatData这个方法的,虽说不影响对整个例子的理解,但毕竟是一个BUG嘛。。。
有点脸红了,没花钱,还指手画脚,望见谅~~~~