小弟我写的设计模式,准备续写上去,请大家支持_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
呵呵,高尚算不上,投桃报李嘛,没有大家的顶贴也可能有这本书的出版。
能读这么细,说明你很好学。 如果设计都只遵循一个原则的话,那都是极端的,而且也不现实的,比如就这个单一职责原则吧,它要求一个类只实现一个职责,这是类的特质,至于属性和行为只是用来描述职责的,因此并这个原则没有说明一个类只有属性或者只有行为。呵呵,当然了,在这本书我也说了,“职责”是没有度量的标志,不像一斤油、一米长等等可以度量的标准,电话那个例子就是个很好的说明。
至于说IUserManager这个例子,只是强调方法的单一职责,你说的同时修改地址和电话两个属性,可以认为是一个职责,就需要新增加一个方法。——真是的项目开发我们不会这么傻,这也是单一职责原则“hard to see"的原因。
谢谢!
呵呵,现在提供的那个电子版只能算上市草稿的草稿,出版的书作了很多深入探讨。
我也支持你,一起学习!
呵呵,现在提供的那个电子版只能算上市草稿的草稿,出版的书作了很多深入探讨。
如果是这样我给LZ一个建议,在选取例子时尽量选经典例子,以免像我这样的人对例子想不明白而怀疑自己的编程能力,毕竟我这样的大多数人觉得能出书的都是大牛
PS:我前面的帖子提到的那本书我想起来了,叫《设计模式精解》,其他的章节我都忘了,但第一章用于解释什么是对象的例子,说教师和学生的,个人奉为经典,这么多年一直记忆犹新
[/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左边有目录导航,我就可以快速找到我需要的章节了。
再次感谢楼主。
正愁看那几本砖头头大呢,搜索到楼主的PDF,非常感谢。
不过想提个建议,PDF能加上目录吗,我是指在阅读您的文章时,如果突然需要回顾前面某个章节,我需要不断的翻页或者跳转到某个指定页。
如果在PDF Reader左边有目录导航,我就可以快速找到我需要的章节了。
再次感谢楼主。
235 楼
wtslh
2010-03-16
另外发现您提供的源码下载地址:
http://cbf4life.free.66ip.com/source-code.rar
无法打开链接,请修正或者提供其他下载地址,非常感谢。
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解答,谢谢
书中同章节关于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的例子,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嘛。。。
有点脸红了,没花钱,还指手画脚,望见谅~~~~
另外有个问题说明一下,不知道你的印刷版里面是否也有这个问题。
27.1 命令模式+责任链模式
这一章的public class LS_A extends AbstractLS { 还有ls_b ,ls_c这几个类里面有一句话
return FileManager.ls_a(vo.formatData());
但在你的vo类里面是没有formatData这个方法的,虽说不影响对整个例子的理解,但毕竟是一个BUG嘛。。。
有点脸红了,没花钱,还指手画脚,望见谅~~~~