收藏私塾在线
 

欢迎您来到私塾在线网!   

请登录! 

免费注册 

交流首页 » 软件设计专版 »研磨设计模式 的 前言  XML
发表人 内容
javasscc
[头像]

交流经验:
总积分:1958
级别:普通会员
注册时间: 2011-10-24
文章: 200
离线

 
    研磨设计模式的前言,里面也有很多对大家有用的信息。
 
 

前言

创作背景

        软件开发越来越复杂,对软件设计的要求也越来越高,而软件设计和架构的入门功夫就是深入理解和掌握设计模式,因此,设计模式的重要性不言而喻。 
        很多朋友也认识到了设计模式的重要性,也看了很多的书籍和资料,但是,常听到他们这样的抱怨:“设计模式的书我看了不少,觉得都看懂了,就是不知道在实际开发中怎么用这些设计模式”,从而认为设计模式是“看上去很美的花拳绣腿”。 
        其实不然,造成这种情况的原因就在于:这些朋友对设计模式的理解不到位,自己感觉懂了,其实还差很远,并不是“真正”理解和掌握了设计模式。 
        市面上也有不少的设计模式方面的书籍,但对一般的学习者而言,要么就是太深,看得云里雾里的,比如GoF的著作《设计模式——可复用面向对象软件的基础》,很经典,但是能吃透的人少;要么就是太浅,看了跟没看差不多,也就是介绍一下每个设计模式,告诉你这就是某某设计模式,虽然语言很生动但是实在没货,看完也不知道怎么用,就像是带领大家摸到了设计模式的大门口,却不告诉你怎么进去一样,其根本原因还是讲得太浅,跟实际的应用有太大的差距。 
        对于所有想要真正理解和掌握设计模式的朋友,其实需要这样的书籍:
  • 理论全面、准确,难度适中
  • 讲解深入浅出、浅显易懂
  • 理论联系实际应用,对于晦涩的理论,应有相应的示例
  • 示例最好来自实际应用,而不是来自虚拟的场景
  • 示例最好相对完整,而不是片断代码,以利于学习和应用
        这也是本书写作的目的,希望能够帮助更多的朋友早日修成设计模式的正果。 
        经过多年的准备和一年的写作,以及各层次读者的多轮试读意见和建议汇总,最终成书,我们可以这样说:  这是一本诚意十足的书,敬请您的评鉴!
        本书的试读人员包括:从还没有参加工作的学生,一直到工作7年的人员;职务覆盖普通的程序员、项目经理、高级系统架构师、技术部的经理;两位作者本身从事开发工作的年限,一位超过10年,一位超过5年。 
        试读的结果:工作经验在1年以下的朋友,能正常理解和掌握初级部分的内容,能部分理解中高级部分的内容;工作经验在1-2年的朋友,基本上能全面理解,但是领悟尚有不足;工作经验在2-5年的朋友,能够正常理解和掌握,基本达到本书写作的意图;工作经验在5年以上的朋友,主要是弥补以前较少用到的部分,使知识更加系统化和全面化,另外把本书当作一本工具参考书,案头必备。

本书内容

        本书完整覆盖GoF的著作《设计模式——可复用面向对象软件的基础》一书所讲述的23个设计模式。
  • 初级内容:从基本讲起,包括每个模式的定义、功能、思路、结构、基本实现、运行调用顺序、基本应用示例等等,让读者能系统、完整、准确的掌握每个模式,培养正确的“设计观”
  • 中高级内容:深入探讨如何理解这些模式,模式中蕴含什么样的设计思想,模式的本质是什么,模式如何结合实际应用,模式的优缺点,和其它模式的关系等等,以期让读者尽量去理解和掌握每个设计模式的精髓所在
        本书在内容上深入、技术上实用、和实际开发结合程度很高,书中大部分的示例程序都是从实际项目中简化而来,因此很多例子都可以直接拿到实际项目中使用。如果你想要深入透彻的理解和掌握设计模式,并期望能真正把设计模式应用到项目中去,那么这是你不可错过的一本书。

本书特色

  1. 本书有很多独到的见解和精辟的总结,能写出一些人所不敢写、人所不能写的内容,是一本“真正有货”的书
  2. 本书大部分示例程序都来自真实的项目应用,让你真正理解和掌握设计模式,尽量做到“从实际项目中来,再应用回到实际项目中去”
本书涉及的实际应用,包含但不限于:
  • 代码生成的应用工具(独立应用)
  • 日志管理平台(来自于基础平台)
  • 缓存管理(来自于基础平台)
  • 订单处理(来自于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 ,我们也很乐意与各位朋友交流设计模式或是其它相关的技术内容。
 
 
 
也可以直接在卓越网上搜索《研磨设计模式》


---------------------------------------------------------------------------

私塾在线学习网原创内容  跟着cc学设计系列 之 研磨设计模式

原创内容,转载请注明出处【http://sishuok.com/forum/blogPost/list/118.html

---------------------------------------------------------------------------

 

推广链接
精品视频课程推荐

Java数据结构和算法精讲版
本课程专注于数据结构和算法的内容,使用Java来进行代码示例,不空洞的讲解概念和理论,重点放在代码的实现和示例上。 从零开始、全面系统、成体系的讲解数据结构和基本算法,循序渐进的讲述构建软件系统所常见的数据结构和算法。

《设计模式综合项目实战》——跟着cc学设计系列精品视频教程

软件系统功能设计实战训练视频教程
本课程是《软件系统功能设计实战训练》网络班的全套学习视频,通过6个具体的设计案例,综合应用几乎全部的GoF设计模式,以及多种设计理念和方法。 每个设计案例都各有侧重点,训练的难度会逐步加大,以切实帮助各位学员快速的掌握软件系统设计的方法,提升自己的软件系统设计能力。

Weblogic实战视频教程
WebLogic基础知识:WebLogic基本概念、正确安装WebLogic、建域、应用部署于JDBC选择、对WebLogic的监控和日志查看、集群的高可用性;课程目标:彻底掌握WebLogic的基本概念,在理解基本概念的基础上做到正确的安装WebLogic,根据不同的需求创建域,合理选择应用部署和JDBC配置。熟练掌握WebLogic的console监控,了解各种性能和运行指标,以及对监控结果的分析,运用集群的高可用性,对集群架设。

freevoice(局域网对讲机)——Android4项目实战视频教程
实现通过Wifi来在局域网内相互传递信息和语音通话的功能;学习Service;Broadcast Receiver;SharedPreference;SQLite;语音录制、播放、传输等;网络开发:wifi处理、UDP编程、TCP编程;多种设计模式的应用 等等

 
交流首页 » 软件设计专版
Message 快速回复

前往:   

关于我们 | 联系我们 | 用户协议 | 私塾在线服务协议 | 版权声明 | 隐私保护

版权所有 Copyright(C)2009-2012 私塾在线学习网