- 浏览: 464700 次
- 性别:
- 来自: 北京
最新评论
-
lm818:
最近一直在看设计模式,发现写的那本研磨真的不错,容易理解,能看 ...
大讨论:学习和应用设计模式的经验、教训、疑问等 -
yjfnwxf:
看了楼主博文,真为自己汗颜呀。。。。努力,再努力
研磨设计模式之命令模式-5 -
fengdandanweikang:
...
研磨设计模式 之 观察者模式(Observer) 1——跟着cc学设计系列 -
tiansong163:
你好,对《研磨设计模式》中UML有一个图标不知道是什么意思?希 ...
跟着cc学设计 之 研磨设计模式 目录汇总贴 -
soualliron:
国人就会溜须拍马,文章冠题“大讨论”,下面全是附会之音,无切实 ...
大讨论:学习和应用设计模式的经验、教训、疑问等
首先向各位长期支持我的朋友致以诚挚的感谢!《研磨设计模式》一书已经上市,具体的信息请参见上一篇博文,这里就不多说了,免得JE做出他们认为合理的举动。
研磨设计模式的前言,里面也有很多对大家有用的信息。
前言
创作背景
软件开发越来越复杂,对软件设计的要求也越来越高,而软件设计和架构的入门功夫就是深入理解和掌握设计模式,因此,设计模式的重要性不言而喻。
很多朋友也认识到了设计模式的重要性,也看了很多的书籍和资料,但是,常听到他们这样的抱怨:“设计模式的书我看了不少,觉得都看懂了,就是不知道在实际开发中怎么用这些设计模式”,从而认为设计模式是“看上去很美的花拳绣腿”。
其实不然,造成这种情况的原因就在于:这些朋友对设计模式的理解不到位,自己感觉懂了,其实还差很远,并不是“真正”理解和掌握了设计模式。
市面上也有不少的设计模式方面的书籍,但对一般的学习者而言,要么就是太深,看得云里雾里的,比如GoF的著作《设计模式——可复用面向对象软件的基础》,很经典,但是能吃透的人少;要么就是太浅,看了跟没看差不多,也就是介绍一下每个设计模式,告诉你这就是某某设计模式,虽然语言很生动但是实在没货,看完也不知道怎么用,就像是带领大家摸到了设计模式的大门口,却不告诉你怎么进去一样,其根本原因还是讲得太浅,跟实际的应用有太大的差距。
对于所有想要真正理解和掌握设计模式的朋友,其实需要这样的书籍:
- 理论全面、准确,难度适中
- 讲解深入浅出、浅显易懂
- 理论联系实际应用,对于晦涩的理论,应有相应的示例
- 示例最好来自实际应用,而不是来自虚拟的场景
- 示例最好相对完整,而不是片断代码,以利于学习和应用
这也是本书写作的目的,希望能够帮助更多的朋友早日修成设计模式的正果。
经过多年的准备和一年的写作,以及各层次读者的多轮试读意见和建议汇总,最终成书,我们可以这样说:这是一本诚意十足的书,敬请您的评鉴!
本书的试读人员包括:从还没有参加工作的学生,一直到工作7年的人员;职务覆盖普通的程序员、项目经理、高级系统架构师、技术部的经理;两位作者本身从事开发工作的年限,一位超过10年,一位超过5年。
试读的结果:工作经验在1年以下的朋友,能正常理解和掌握初级部分的内容,能部分理解中高级部分的内容;工作经验在1-2年的朋友,基本上能全面理解,但是领悟尚有不足;工作经验在2-5年的朋友,能够正常理解和掌握,基本达到本书写作的意图;工作经验在5年以上的朋友,主要是弥补以前较少用到的部分,使知识更加系统化和全面化,另外把本书当作一本工具参考书,案头必备。
本书内容
本书完整覆盖GoF的著作《设计模式——可复用面向对象软件的基础》一书所讲述的23个设计模式。
- 初级内容:从基本讲起,包括每个模式的定义、功能、思路、结构、基本实现、运行调用顺序、基本应用示例等等,让读者能系统、完整、准确的掌握每个模式,培养正确的“设计观”
- 中高级内容:深入探讨如何理解这些模式,模式中蕴含什么样的设计思想,模式的本质是什么,模式如何结合实际应用,模式的优缺点,和其它模式的关系等等,以期让读者尽量去理解和掌握每个设计模式的精髓所在
本书在内容上深入、技术上实用、和实际开发结合程度很高,书中大部分的示例程序都是从实际项目中简化而来,因此很多例子都可以直接拿到实际项目中使用。如果你想要深入透彻的理解和掌握设计模式,并期望能真正把设计模式应用到项目中去,那么这是你不可错过的一本书。
本书特色
- 本书有很多独到的见解和精辟的总结,能写出一些人所不敢写、人所不能写的内容,是一本“真正有货”的书
- 本书大部分示例程序都来自真实的项目应用,让你真正理解和掌握设计模式,尽量做到“从实际项目中来,再应用回到实际项目中去”
本书涉及的实际应用,包含但不限于:
- 代码生成的应用工具(独立应用)
- 日志管理平台(来自于基础平台)
- 缓存管理(来自于基础平台)
- 订单处理(来自于CRM系统)
- 导出数据的应用框架(来自于SCM)
- 组织机构管理(来自于基础平台)
- 大数据量访问(很多系统都有)
- 水质监测系统(独立应用)
- 工资管理(来自于HRM系统)
- 商品管理(来自于电子商务系统)
- 登录控制(来自于OA系统)
- 报价管理(来自于CRM系统)
- 在线投票系统(来自于OA系统)
- 仿真系统(来自于WorkFlow系统)
- 权限管理(来自于基础平台)
- 配置文件管理(来自于基础平台)
- 奖金核算系统(来自于HRM系统)
- 费用报销管理(来自于OA系统)
- 客户管理(来自于CRM系统)
说明:OA:办公自动化(Office Automation)
CRM:客户关系管理(Customer Relationship Management)
HRM:人力资源管理(Human Resource Management)
SCM:供应链管理(Supply Chain Management)
WorkFlow:工作流
本书探讨了很多应用设计模式来解决的实际项目中的问题
本书涉及的实际问题,包含但不限于:
- 如何实现可配置
- 如何实现同时支持数据库和文件存储的日志管理
- 如何实现缓存以及缓存的管理
- 如何实现用缓存来控制多实例的创建
- 如何处理平行功能
- 如何实现参数化工厂
- 如何应用工厂实现DAO
- 如何实现可扩展工厂
- 如何实现原型管理器
- 如何实现Java的静态代理和动态代理
- 如何实现多线程处理队列请求
- 如何实现命令的参数化配置、可撤销的操作、宏命令、队列请求和日志请求
- 如何实现双向迭代
- 如何实现带策略的迭代器
- 如何实现翻页迭代
- 如何实现树状结构和父组件引用
- 如何检测环状结构
- 如何实现通用的增删改查
- 如何实现容错恢复机制
- 如何模拟工作流来处理流程
- 如何实现对象实例池
- 如何实现自定义语言的解析
- 如何实现简单又通用的XML读取
- 如何实现功能链,实现类似于Web开发中Filter的功能
- 如何实现模拟AOP的功能
- 如何为系统加入权限控制
- 如何自定义I/O装饰器
- 如何实现通用请求处理框架
3:本书的示例程序基本上都是带着客户端测试代码的,可直接运行,不是片断代码,更有利于大家整体学习和理解
读者定位
本书难度为初级到中级,适合于所有开发人员、设计人员或者即将成为开发人员的朋友。也可以作为高校学生深入学习设计模式的参考读物。
我们强烈建议您认真阅读和学习本书的内容,全面、准确、深入、实用的内容定会有助于您凤凰涅磐般的实现技术升华,请相信。
阅读指南
本书假定您懂一些基本的Java知识,并具备一定的开发经验。
1:对于初学设计模式的朋友
如果对常见面向对象的设计原则不太熟悉的话,请先参看附录一。
如果对UML不太熟悉的话,请先参看附录二。
然后开始看第一章,学习设计模式的一些基础知识,了解本书的整体大纲。
接下来就可以从前到后,循序渐进的学习每个设计模式。对每个模式建议先认真学习场景问题和解决方案两个部分,切实掌握每个模式标准的结构、实现和基本的应用。对于模式讲解中简单的内容也可以先看,但是对于后面较为复杂的内容,可以先不看,等到技术和经验积累到一定程度的时候,再循序渐进向后学习。
2:对于已有一定的开发经验和设计经验的朋友
还是应该从场景问题和解决方案看起,对于其中已会的内容权当复习,对于不会的内容,相当于是在查漏补缺,先把基础部分整得全面、扎实。
然后再认真学习模式讲解部分,并结合实际的开发经验来思考,看看如何应用模式来解决实际问题,看看如何把模式应用到实际的项目中去,再深入的思考模式的本质和设计思想,掌握模式的精髓,这样才能真正做到在实际开发中自如应用设计模式。
3:对所有的朋友
这不是一本随便看看,读完一遍就可以扔掉的书籍,需要反复研读。因此,第一次阅读本书时,如果发现有些不理解的内容也不要紧,可以在今后的学习和工作中,反复参阅本书,以加深对设计模式的理解,获取设计灵感,并把设计模式切实应用到实际项目中去。
4:善意提醒
在实际开发和设计中,要遵循简单设计的原则,不要为了设计模式而模式,不要过度设计,要在合适的地方应用合适的设计模式来解决问题。
这对于初学者尤其要注意,因为刚学会一个东西,总是跃跃欲试,急于一显身手,往往容易造成设计模式的误用。
本书约定
1:本书的知识边界
由于关于设计的知识过于博大精深,因此本书“集中火力”,重点在讲述GoF著作中涉及的23个设计模式本身、以及和这些设计模式相关的应用内容。
没有过多涉及:面向对象设计原则、重构、系统架构设计、JavaEE(原J2EE,也有简写成JEE)设计模式或是其它分类的设计模式(如EJB设计模式)等内容,原因可以参见附录一。也没有过多讲述UML,有需要的朋友请参看附录二。
对于每章涉及的实际应用,描述也非常简略,只抽取讲述模式需要的一点东西。因为这些实际应用的东西,对于有相应开发经验的朋友多说无益,一提就明白,对于没有相应经验的朋友,多讲一点也未见得能多明白多少,反而冲淡了设计模式这个主题。
2:本书的示例和代码
本书的示例虽然大都来自实际应用,但是经过相当的删除简化和重新组合;另外一点,为了突出设计模式这个主题,因此代码并不是按照实际应用那样来严格要求,很多例外处理、数据检测等都没有做,逻辑也未见得那么严密;还有一点,在实际的开发中,很可能是多个模式组合来实现某个功能,但是本书为了示例某个模式,让重点突出而避免读者迷惑,会选择重点示例某个模式的用法,而简化或去掉其它模式。
如果要把这些示例代码在实际应用中使用,还需要对这些代码进行加工,使其更加严谨,才能达到工业级的要求。
真诚致谢
首先要感谢本书的编辑栾大成先生,他给予本书很多中肯的意见和建议,对本书从选题到出版的各个环节,都给予了大量的指导和帮助。
其次要感谢张开涛先生,他对本书的内容提出了很多有用的意见和建议。
然后要感谢魏源先生和蔡抒杨先生,他们对本书内容的完善也给出了很好的建议。
接下来,按照惯例,应该感谢家人、感谢朋友、感谢北京的漫天风沙和明媚阳光,以及那可爱的阳台和小巧的书桌,总之,感谢一切。
最后,提前感谢购买本书的朋友们,你们的信任和赏识是我们继续前进的动力,对于本书有任何意见或建议,可以直接与我们联系,联系邮件:sjms_2010@yahoo.cn ,我们也很乐意与各位朋友交流设计模式或是其它相关的技术内容。
《研磨设计模式》一书已经上市,卓越网销售链接: 也可以直接在卓越网上搜索《研磨设计模式》
http://www.amazon.cn/%E7%A0%94%E7%A3%A8%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F-%E9%99%88%E8%87%A3/dp/B004G8P90S/ref=sr_1_1?ie=UTF8&qid=1295358211&sr=8-1
前言结束,供大家参考,谢谢
评论
然后“顶”的数量从42变成了48, 踩的数量从29变成了55。。。。。
可以找robbin看看是怎么回事。javaeye bug很多呀。
应该不是bug,是并发了吧。
然后“顶”的数量从42变成了48, 踩的数量从29变成了55。。。。。
可以找robbin看看是怎么回事。javaeye bug很多呀。
不过有些欠深入。
设计模式,在软件领域属于相对理论性,哲理性较强的部分。需要一定程度的理解力与悟性才能搞定。
因此,一本好的设计模式书,应该着重把握问题的实质,围绕中心思想将道理讲透,而不仅仅是表象。真正讲透了实质,才能授人以渔,才能超越既有的设计模式,创造发现新的设计模式。最后做到,只懂基本原理,不需要专门挂记什么模式,一出手就是最佳设计或接近最佳设计。
另外,程序方面的设计模式仅仅是武器方面的套路,真正针对领域逻辑建模的设计模式将会发挥更大的作用在软件项目的成功方面。所以领域建模设计模式是我看好的另一个有潜力的方面。
期望楼主能多出些关于优化系统性能方面的文章..
书以到手 研磨中。。。
希望楼主的博客持续更新啊
收到书了过后,要是感觉不错,记得去当当 给个 评分,多谢了啊!哈哈
晚上回去翻看挺好的,我看了11章了,按惯例应该给个书中所有代码的下载吧,书里
也没光盘,楼主有什么想法?
另外大家买了书的看完最好给作者个反馈,下一版就可以更好了,咱们国人写的书得支
持啊。
踩的人什么想法,牛逼写个更好的,搞得跟大学里的教授一样,中国的教育就你们这帮
玩意儿毁了。
不要去理会哪些瞎踩的同志,就这么一个环境,就这么一帮子人.
代码的问题,好好整理一下,回头放到博客里面提供一个下载吧!
不过窃以为要是能够动手敲一敲,效果可能会更好,哈哈!
晚上回去翻看挺好的,我看了11章了,按惯例应该给个书中所有代码的下载吧,书里
也没光盘,楼主有什么想法?
另外大家买了书的看完最好给作者个反馈,下一版就可以更好了,咱们国人写的书得支
持啊。
踩的人什么想法,牛逼写个更好的,搞得跟大学里的教授一样,中国的教育就你们这帮
玩意儿毁了。
谢谢你的支持! 相信会物有所值,不会让你后悔的,哈哈!
当然,是否觉得值,得由你来判断.
两个人都参与书的写作了,当然会有个以谁为主执笔的问题,所以也就没有去分哪些是CC写的,哪些是WB写的了,所有的章节两个人都参与了。
另外,如果发博客的话,也只能是发一个人的,不能两边同时发吧,这样就全乱了。
简单点说,这本书是两个人共同的努力,以这一个窗口共同对外。
发表评论
-
私塾在线推出《一案贯通GoF设计模式》项目实战
2012-10-19 22:12 20《研磨设计模式》出版以来,包括iteye上的朋友,很多人 ... -
研磨设计模式 之 组合模式(Composite) 3——跟着cc学设计系列
2012-08-22 08:50 419815.3 模式讲解 15.3.1 认识组合模式 ... -
研磨设计模式 之 组合模式(Composite) 2——跟着cc学设计系列
2012-08-20 13:53 335615.2 解决方案 15.2.1 组合模式来解决 ... -
研磨设计模式 之 组合模式(Composite) 1——跟着cc学设计系列
2012-08-20 12:17 306815.1 场景问题 15.1.1 商品类别树 ... -
研磨设计模式 之 迭代器模式(Iterator)3——跟着cc学设计系列
2012-08-19 07:07 380114.3 模式讲解 14.3.1 ... -
研磨设计模式 之 迭代器模式(Iterator)2——跟着cc学设计系列
2012-08-18 03:48 260114.2 解决方案 14.2.1 ... -
研磨设计模式 之 迭代器模式(Iterator)2——跟着cc学设计系列
2012-08-17 18:26 10614.2 解决方案 14.2.1 ... -
研磨设计模式 之 迭代器模式(Iterator)1——跟着cc学设计系列
2012-08-17 10:38 202114.1 场景问题 14.1.1 ... -
私塾在线《研磨设计模式》,精品课程上线特大惊喜
2012-08-17 10:03 6014《研磨设计模式》——跟着CC学设计,视频课程在 私塾在线 ... -
研磨设计模式 之 观察者模式(Observer) 3——跟着cc学设计系列
2012-08-16 08:51 296612.3 模式讲解 12.3.1 认识观察者模式 ... -
研磨设计模式 之 观察者模式(Observer) 2——跟着cc学设计系列
2012-08-15 07:03 282612.2 解决方案 12.2 ... -
研磨设计模式 之 观察者模式(Observer) 1——跟着cc学设计系列
2012-08-15 07:03 210812.1 场景问题 12.1.1 订阅报纸的过程 ... -
跟着cc学设计系列 之 研磨设计模式 目录汇总贴
2012-08-14 14:49 36研磨设计模式 的 前言 ——跟着cc学 ... -
研磨设计模式 之 代理模式(Proxy)3——跟着cc学设计系列
2012-08-14 14:36 230511.3 模式讲解 11.3.1 认识代理模式 ... -
研磨设计模式 之 代理模式(Proxy)2——跟着cc学设计系列
2012-08-13 12:36 285811.2 解决方案 11.2.1 代理模式来解 ... -
研磨设计模式 之 代理模式(Proxy)1——跟着cc学设计系列
2012-08-13 12:35 214511.1 场景问题 11.1.1 访问多条数据 ... -
研磨设计模式 之 中介者模式(Mediator)3 ——跟着cc学设计系列
2012-08-11 11:50 120510.3 模式讲解 10.3.1 认识中介者模式 ... -
研磨设计模式 之 中介者模式(Mediator)2 ——跟着cc学设计系列
2012-08-09 08:23 142610.2 解决方案 10.2.1 中介者模式来 ... -
研磨设计模式 之 中介者模式(Mediator)1 ——跟着cc学设计系列
2012-08-09 08:23 146810.1 场景问题 10.1.1 ... -
研磨设计模式 之 原型模式(Prototype)3 ——跟着cc学设计系列
2012-08-08 08:14 15449.3 模式讲解 9.3.1 ...
相关推荐
《研磨设计模式源码》是一份非常宝贵的资源,它提供了设计模式的实践代码,帮助开发者深入理解并应用这些模式。设计模式是软件工程中经过长期实践总结出来的一套通用解决方案,它们描述了在特定场景下如何解决常见...
《研磨设计模式》完整覆盖GoF讲述的23个设计模式并加以细细研磨。初级内容从基本讲起,包括每个模式的定义、功能、思路、结构、基本实现、运行调用顺序、基本应用示例等,让读者能系统、完整、准确地掌握每个模式,...
《研磨设计模式》完整覆盖GoF讲述的23个设计模式并加以细细研磨。初级内容从基本讲起,包括每个模式的定义、功能、思路、结构、基本实现、运行调用顺序、基本应用示例等,让读者能系统、完整、准确地掌握每个模式,...
《研磨设计模式》完整覆盖GoF讲述的23个设计模式并加以细细研磨。初级内容从基本讲起,包括每个模式的定义、功能、思路、结构、基本实现、运行调用顺序、基本应用示例等,让读者能系统、完整、准确地掌握每个模式,...
《研磨设计模式》完整覆盖GoF讲述的23个设计模式并加以细细研磨。初级内容从基本讲起,包括每个模式的定义、功能、思路、结构、基本实现、运行调用顺序、基本应用示例等,让读者能系统、完整、准确地掌握每个模式,...
《研磨设计模式》完整覆盖GoF讲述的23个设计模式并加以细细研磨。初级内容从基本讲起,包括每个模式的定义、功能、思路、结构、基本实现、运行调用顺序、基本应用示例等,让读者能系统、完整、准确地掌握每个模式,...
“1.1 设计模式是什么 1.1.1 什么是模式 从字面上理解,模,就是模型、模板的意思;式,就是方式、方法的意思。综合起来,所谓模式就是:可以作为模型或模板的方式或方法。... “研磨设计模式”。 iBooks.
《研磨设计模式》这本书是陈臣和王斌两位作者合作的成果,专注于讲解软件设计中的模式应用。设计模式是软件工程中的一种最佳实践,它总结了在特定上下文中解决问题的常见方法,使得开发者可以复用这些解决方案,提高...
内容概述:本视频课程是北京Java私塾原创精品书籍《研磨设计模式》一书的配套学习视频,由《研磨设计模式》的第一作者CC录制 课程目标:全面、系统的掌握GoF设计模式的知识,达到可以在实际项目开发中运用的能力 ...
研磨设计模式(完整版pdf)相信我不用介绍,很多人都在找这本书吧,今天我特意从另外的地方下载到了这本书,发了几十积分。才弄到。为了让大家同时分享这本书的精华。我今天特意上传。注:此电子书较大,我分了3个...
研磨设计模式《研磨设计模式》完整覆盖GoF讲述的23个设计模式并加以细细研磨。初级内容从基本讲起,包括每个模式的定义、功能、思路、结构、基本实现、运行调用顺序、基本应用示例等,让读者能系统、完整、准确地...
《研磨设计模式》是由陈臣和王斌合著,由清华大学出版社出版的一本深入探讨设计模式的专业书籍。设计模式是软件工程中的一个重要概念,它代表了在特定上下文中解决问题的常见方法,经过时间和实践的验证,具有很高的...
设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。 使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。 设计模式使代码编写真正工程化;...
0该书是《研磨设计模式》,只有前几张,网上完整版电子书还没有,这是本人收集的最完备的,最多的前几章。 1:本源代码是《研磨设计模式》一书的配套源代码 2:每个模式的示例源代码放在一个单独的文件夹下,以该...
《研磨设计模式》完整覆盖GoF讲述的23个设计模式并加以细细研磨。初级内容从基本讲起,包括每个模式的定义、功能、思路、结构、基本实现、运行调用顺序、基本应用示例等,让读者能系统、完整、准确地掌握每个模式,...
这个压缩包“研磨设计模式全部源代码”包含了多种设计模式的实现,这些模式可以帮助开发者写出更可维护、可扩展和可复用的代码。下面将详细讲解其中可能包含的一些重要设计模式及其应用。 1. 工厂模式:这是最简单...
研磨设计模式
这个“研磨设计模式博文集”显然是一份深入探讨设计模式的资料集合,其中可能包含了对多种设计模式的详细解析、示例代码以及实际应用中的经验分享。在软件开发中,设计模式能够帮助开发者提高代码质量、可读性和可...
研磨设计模式(完整版pdf)相信我不用介绍,很多人都在找这本书吧,今天我特意从另外的地方下载到了这本书,发了几十积分。才弄到。为了让大家同时分享这本书的精华。我今天特意上传。注:此电子书较大,我分了3个...
《研磨设计模式》完整覆盖GoF讲述的23个设计模式并加以细细研磨。初级内容从基本讲起,包括每个模式的定义、功能、思路、结构、基本实现、运行调用顺序、基本应用示例等,让读者能系统、完整、准确地掌握每个模式,...