现在的位置: 首页 > 综合 > 正文

推荐一些书籍。

2013年02月07日 ⁄ 综合 ⁄ 共 2628字 ⁄ 字号 评论关闭

  面对一个项目,搭建一个项目框架成为了必然的任务,怎么搭建框架,需要考虑哪些问题,成为了目前我的思考方向,围绕这个方向,我觉得有必要学习设计模式。

      现在推出一些好的书籍:

    《设计模式:可复用面向对象软件基础》并不是一本介绍面向对象技术或设计的书,目前已有不少好书介绍面向对象技术或设计。本书假设你至少已经比较熟悉一种面向对象编程语言,并且有一定的面向对象设计经验。当我们提及“类型”和“多态”,或“接口”与“现”继承的关系时,你应该对这些概念了然于胸,而不必迫不及待地翻阅手头的字典。另外,这也不是一篇高级专题技术论文,而是一本关于设计模式的书,它描述了在面向对象软件设计过程中针对特定问题的简洁而优雅的解决方案。设计模式捕获了随时间进化与发展的问题的求解方法,因此它们并不是人们从一开始就采用的设计方案。它们反映了不为人知的重新设计和重新编码的成果,而这些都来自软件开发者为了设计出灵活可复用的软件而长时间进行的艰苦努力。设计模式捕获了这些解决方案,并用简洁易用的方式表达出来。设计模式并不要求使用独特的语言特性,也不采用那些足以使你的朋友或老板大吃一惊的神奇的编程技巧。所有的模式均可以用标准的面向对象语言实现,这也许有时会比特殊的解法多费一些功夫,但是为了增加软件的灵活性和可复用性,多做些工作是值得的。一旦你理解了设计模式并且有了一种“Aha!”(而不是“Huh?”)的应用经验和体验后,你将用一种非同寻常的方式思考面向对象设计。你将拥有一种深刻的洞察力,以帮助你设计出更加灵活的、模块化的、可复用的和易理解的软件—这也是你为何着迷于面向对象技术的源动力,不是吗?当然还有一些提示和鼓励:第一次阅读此书时你可能不会完全理解它,但不必着急,我们在起初编写这本书时也没有完全理解它们!请记住,这不是一本读完一遍就可以束之高阁的书。我们希望你在软件设计过程中反复参阅此书,以获取设计灵感。

    《大话设计模式》通篇都是以情景对话的形式,用多个小故事或编程示例来组织讲解GoF(设计模式的经典名著——Design Patterns: Elements of Reusable Object-Oriented Software,中译本名为《设计模式——可复用面向对象软件的基础》的四位作者Erich Gamma、Richard Helm、Ralph Johnson,以及JohnVlissides,这四人常被称为GangofFour,即四人组,简GoF)总结的23个设计模式。本书共分为29章。其中,第1、3、4、5章着重讲解了面向对象的意义、好处以及几个重要的设计原则;第2章,以及第6到第28章详细讲解了23个设计模式;第29章是对设计模式的全面总结。附录部分是通过一个例子的演变为初学者介绍了面向对象的基本概念。本书的特色是通过小菜与大鸟的趣味问答,在讲解程序的不断重构和演变过程中,把设计模式的学习门槛降低,让初学者可以更加容易地理解——为什么这样设计才是好的?是怎样想到这样设计的?以达到不但授之以“鱼”,还授之以“渔”的目的。引导读者体会设计演变过程中蕴藏的大智慧。

  《设计模式之禅》内容简介:如果说“四人帮”的《设计模式》是设计模式领域的“圣经”,那么之后出版的各种关于设计模式的书都可称之为“圣经”的“注释版”或“圣经的故事”。《设计模式之禅》是得道者对“圣经”的“禅悟”,它既不像“圣经”那样因为惜字如金、字字珠玑而深奥、晦涩和难懂,又比“圣经”的“注释版”更深刻和全面、更通俗和生动、更接近开发者遇到的实践场景,更具指导性。《设计模式之禅》兼收并蓄、博采众长,也许是设计模式领域里的下一个里程碑之作。
全书共分为四部分,第一部分从原理的角度阐述了面向对象程序设计的6大原则;第二部生动地讲解和剖析了23种常见的设计模式,并进行了扩展,通俗易懂,趣味性极强而又紧扣模式的核心;第三部分对各种相关联的设计模式进行了深入分析和比较,旨在阐明各种设计模式比较理想的应用场景和它们之间的区别;第四部分探讨了设计模式的混编,讲解了如何在实际开发中将各种设计模式混合起来使用,以发挥设计模式的最大效用。最后,《设计模式之禅》还附有一份设计模式彩图,可以裁剪,便于参考。
禅宗曰:“教外别传,不立文字”,禅的境界本不该用文字来描述,言语也道不明白,但为了传道,悟道者仍要藉言语来说明。
何为禅?一种境界,一种体验,一种精神领域的最高修为。何为设计模式?对面向对象思想的深刻理解,对软件设计方法和编码经验的完美总结。
《设计模式之禅》是创造者的心路历程,是实践者的智慧结晶,是得道者的禅悟。它通过幽默风趣的故事和通俗易懂的讲述方式,引导你悟透设计模式的真谛。
如果你在思考下面这些问题,也许《设计模式之禅》就是你想要的!
1.业务分析如此细致,架构设计如此健壮、可靠和稳定,但为何仍然无法适应业务发展的需要,而且生命周期只有短短几年?
2.为何你的团队协作了多年却始终无法沉淀出可复用的组件或构件?依赖和解耦的标准是什么?如何才能做到既不相互“刺伤”,又能相互“温暖”?
3.架构设计时,如何才能实现高可扩展性和易维护性?如何避免维护成本大于开发成本的悲哀现状?
4.交易型的系统如何大规模地借用设计模式的思想,以实现高性能、高可靠性的建设目标?
5.架构设计时,如果遇到这样的情况:“有一个请求者和多个处理者,同时要求二者之间解耦,以便处理者可以动态地扩展”,这该如何处理?
6.如果遇到过这样场景:“多个对象依赖一个对象,该对象状态改变时所有的依赖者都要相应地获得通知,并且要求对象间松散耦合”,这该如何处理?
7.万物皆对象,不可能把每一个对象都分解到原子级别,如何适度地细化对象的颗粒度?怎样界定对象的粒度大小?
8.同为创建类模式,工厂方法模式和建造者模式都可以创建对象,它们之间有何区别?适用的场景又有何不同?
9.状态模式和策略模式的通用类图如此相似,在实际的应用场景中如何区分它们?
10.如何使命令模式和责任链模式完美搭配并建立一个高可扩展性的系统架构,以解决客户端和处理者都参数化的场景?
11.观察者模式和责任链模式真的没有可比性吗?它们的主要区别何在?实际应用中如何使用?
12.组合模式只能用来表示部分和整体的关系吗?其扩展出的规格模式是如何实现的?透明的组合模式和安全的组合模式有何区别?

         以上3本书,都是设计模式方面阐述的比较好的书籍。现特此推荐给大家。

     

抱歉!评论已关闭.