当前位置:  技术问答>java相关

请大家推荐几本经典的适合入门者的图书

    来源: 互联网  发布时间:2015-10-21

    本文导语:  要学习JAVA,请大家推荐几本经典的适合入门者的图书。。并介绍一下自己的学习经验。。 | 我刚刚在别的网站看到的: Java行业的圣经 四本最重要的个人藏书,他们的书名都不含Java 作者 Thom...

要学习JAVA,请大家推荐几本经典的适合入门者的图书。。并介绍一下自己的学习经验。。

|
我刚刚在别的网站看到的:
Java行业的圣经 四本最重要的个人藏书,他们的书名都不含Java

作者 Thomas E. Davis
译者 msklsf@263.net

摘要

Thomas Davis 推荐了四本书,它们可以让你在java开发中受益非浅。这些书扩展了Java的基本语法和语义,使你能更全面地理解面向对象的程序设计。

正文

《Design patterns》

《Refactoring: Improving the Design of Existing Code》

《AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis》

《Extreme Programming Explained: Embrace Change》

  在这篇文章中,我提出了新手和专家在使用Java进行开发的区别,而且也给出了一个参考书目,帮助新手超越这个界限。这不是一个书目回顾,而是你通往职业发展中下一步的车票。

  Java是一个程序设计语言。它也是一个工具,如果错误地使用,它就是无用的,某些时候甚至是危险的。仅仅知道它的语法和语义不是一个程序员要做的。一个程序员也必须密切地关注和理解环境模式,也就是说在Java环境中,什么是面向对象设计。知道对象是什么、接口是什么、多少对象实现了一个接口等等无聊的东西是远远不够的。一个程序员必须知道这种使那些规则和关系融合成一个灵活的、可重用的、可扩展的系统的神秘方法。我在这里讨论的这些书将给你那些经验,提高你作为一名Java程序员的职业素质。令人奇怪的是,没有一本书在他们的书名中包括Java一词。

注:本文所讨论的所有书目的URL地址可以在本文后面的资源中找到。

《Design patterns》

  这本书的作者是Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, 和Grady Boocha——the Gang of Four是他们著名的呢称,由 Addison-Wesley出版社在1995年出版。模式一词描述了一类重复的问题而且提供了一个可重用的解决方案。设计模式至少可以通过对象共享来帮助你避免内存限制的缺陷以简化你的工作,设计模式也可以创造一个类似于接口的、可以灵活地同第三方库进行综合的集成方式来简化你的工作。《Design patterns》仔细描述了这两种设计模式,给出了评价,而且提供了代码例子和易于理解的相关图表。虽然代码例子都是C++的,但是语法十分类似于Java,因此大多数程序员将毫无问题地掌握这些概念。有一本本书的仿制品,它采用Java作为例子,书名是《Java Design Patterns: A Tutorial》,作者是James William Cooper,由Addison-Wesley出版社在 2000年出版;但是没有the Gang of Four在《Design patterns》中所阐述的透彻和深度。

  一旦你熟悉了《Design Patterns》中所列出的设计模式,将认识到他们中的一些是如何发展的。在Addison-Wesley出版社1998年出版的《Design Patterns Applied(Software Patterns Series)》中,John Vlissides 叙述了在某些最流行模式上的争论和讨论,而且介绍了一些新的在《Design Patterns》中删去的模式。

《Refactoring: Improving the Design of Existing Code》

  会犯错误就是人。如果这是真理的话,我看到了数以百计比我更象人的程序。项目出问题了。错误出现了。进度延期了,质量牺牲了。这些都是对我们所从事的职业的警告。但是当事情逐渐变得最糟时,你需要在什么地方改变方向呢?我的非常多的同事采用"throw-away-and-start-over"的方法:从零开始,希望自己已经可以避免错误了。那是最极端的解决办法,它一定激怒了你的老板。但是不要绝望,因为有替代的办法。

  《Refactoring: Improving the Design of Existing Code》是Addison-Wesley出版社面向对象技术系列丛书中的一本,作者是Martin Fowler, Kent Beck, John Brant, William Opdyke, 和Don Roberts ,出版日期是1999年,这本书给开发者提供了重新开始的不同选择。Refactoring就是通过重构一个程序的内部结构但是不改变它的外部行为来提高它的性能的处理过程。Refactoring能让一个方法执行得更快或者提供更精确的执行结果,但是不改变这个方法的名字。这些改变对调用该方法的程序而言是不可见的,因此没有代码需要修改。

  这本书教读者如何通过一个特殊的意识来识别问题代码,而且将每一个放到一个程序目录中以便修改。例如,一个意识或许是一个不适当的亲密关系——描述了两个或更多个类的关系太紧密了以致对一个类的改变要求另一个类也要改变。这本书所建议的众多的解决方法的一个是将这个存在问题的方法移到一个更适当的类中。

《AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis》

  软件开发不是易于出错和疏忽的唯一地方。管理同样易于出现缺陷,这是由于混乱的开发过程和不现实的开发进度。大多数因特网公司在他们的开发部门有一个令人担忧的人员流动速度。随着程序员的加入和退出,职责的层次结构就想代码结构一样变得令人费解。《AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis》的作者是William J. Brown, Raphael C. Malveau, William H. Brown, Hays W. McCormick III, 和 Thomas J. Mowbray ,由John Wiley & Sons出版社 在1998年出版,这本书将把上述加入到你整个的事业目标中。它对计划、错误管理、基本方法中的常见错误进行分类,使你跳出深渊。

  你的方案是否正遭受委员会的挑剔?就象有非常多的厨师在调一锅汤一样。或者你的代码基础是违反模式的卖方代码,导致你依赖一个不可靠的第三方产品。《AntiPatterns》将这些问题分为12大类和大约24个小类,指导你避免这些问题或者跳离你偶然进去的陷阱。

《Extreme Programming Explained: Embrace Change》

  XP是一种新鲜的、有些争议的新的开发过程,Kent Beck是它的先行者。XP力争按时提供好的软件,没有官僚作风,不重视传统的开发周期。在因特网启动的发烧期,每个人的目光都聚焦在赶上市场。在现实世界中,项目超过了预算或者过了最后期限,就会被取消,这最终导致某些公司彻底失败。项目开始的文档和图表很少能够反映最终的产品。因此,开发团队需要适应项目需求的频繁变化并作出反映。那正是XP要发光的地方。

  “沟通、简洁、反馈、勇气”是XP爱好者的秘诀。沟通有很多种途径,例如在成双成对的程序设计中完成。也就是一个人编码,伙伴们进行对等的实时检查。

  简洁意味着当你需要它的时候就仅仅建造那些你需要的。不浪费时间执行那些解决将来或许会发生的问题的奢侈方案。

反馈意味着“早发布,常发布”,这些为那些开放源代码的狂热者所喜爱。通过在开发的早期将产品呈现在用户的面前,你能尽量避免出现在开发周期后期的剧烈变动要求。

  最后,勇气促使XP弟子抓住机会并从结果中吸取经验。只有在极少见的场合,你才必须求助于"throw-away-and-start-over"技术。《Extreme Programming Explained: Embrace Change》中描述了那些秘诀和它们是如何帮助你的。这本书的作者是Kent Beck,由Addison-Wesley出版社在1999年出版。

结论

  最近我有机会从零开始一个公司项目。我的开发队伍靠这些书的教导生活和呼吸,成果是显著的。我们按照进度、没有延期建造了一个特别健壮和可扩展的系统。这些书改善了我的职业生涯,我相信他们也将改善你的职业生涯。

关于作者
        Thomas E. Davis是一个具有SUN认证资质的Java软件工程师,也是他的第二个成功的Internet计划的首席技术官。目前Thomas居住在阳关充足的南佛罗里达,遗憾的是大部分时间他都呆在室内的一台计算机前面



|
java核心技术
java编程思想

    
 
 

您可能感兴趣的文章:

  • 正则表达式 学习参考 推荐入门者看
  • 谢谢推荐几本关于JAVA入门好书?
  • 哪位仁兄能给小弟推荐基本java的入门好书
  • 请高手推荐Linux入门方面的资源(网站或电子书)
  • 请帮忙推荐一下linux的入门书籍!
  • 推荐一本linux入门书??
  • 能推荐一些linux内核方面的入门的书籍吗
  • 请各位推荐一本Linux入门书籍
  • 请推荐几本java的入门和提高书籍.
  • 大家帮忙推荐一本linux socket编程的入门书,我刚接触socket,谢谢!!
  • UP有分,推荐几本书给我吧,兄弟们,UNIX入门与编程的与编程的,
  • 初学unix,哪位能给我推荐本权威的入门书籍
  • 初学Unix下的C编程,请高手推荐几本好的入门书。
  • 请大家推荐一本通俗易懂的 内核入门 的书籍
  • 大家推荐一本Linux入门到精通的操作书籍?
  • 请推荐几本入门书
  • 哪位能给我推荐几本linux下c编程的入门书
  • 大家帮我推荐一下入门unix学习的好书吧
  • [~新手入门~] 大家帮我推荐几本书?
  • 想学j2ee,请大家推荐几本入门级的好书
  • 想好好学linux操作系统,请大家帮忙推荐本入门的好书,谢谢
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 麻烦诸位前辈推荐推荐一款适合底层开发的Linux版本!
  • 我是菜鸟,要安装Linux,不知道那个版本适合我,大虾们给推荐推荐吧
  • 推荐一个好用点的适合家里使用的 LINUX OS 版本。
  • 适合于PDA、mid等设备的linux,大家推荐。谢谢。
  • LINUX的初学者,请高手推荐一个适合的版本,最好有下载地址,先谢了~!!
  • 请推荐一本最适合学习JAVA的OO的书籍????
  • 哪里有适合linux初学者的网站,请推荐一下吧:)
  • 再次请求推荐Java书籍(适合初学者),一本书20分,怎么样?:-(
  • 请大家推荐一条适合本人的JAVA学习路线,和参考书籍!
  • 看来使用Gentoo Linux的人还不多,在此向大家隆重推荐,特别适合有宽带连接的。
  • 对Linux一点也不了解,谁能推荐一下当前适合用于个人笔记本操作的Linux版本,我想去买个来上上手
  • 菜鸟的提问:为什么很多人都推荐Debian发行版?大伙觉的那个发行版更适合深入探索Linux
  • java命名空间javax.print类docflavor的类成员方法:推荐的 docflavor定义及介绍
  • 谁给推荐推荐几本xml的好书?
  • PHP介绍及学习网站推荐
  • 望大家向我推荐推荐!
  • HTML 编辑器-免费的HTML编辑器推荐
  • 求推荐,我想试着学习怎么写makefile,请问大家有什么书推荐吗?
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • [推荐]请大家推荐几个学linux的好网站吧
  • HTML 学习总结及下一步学习教程推荐
  • 推荐系统 EasyRec
  • 基于 PostgreSQL 的推荐引擎 RecDB
  • 开源推荐系统 LensKit
  • 推荐系统 Wuawua
  • 开源推荐系统 Myrrix
  • 【一周话题】推荐两本C++的书,大家有什么好书推荐一下吧
  • 数据库 iis7站长之家
  • 推荐好的Linux书
  • linux书推荐!
  • 我要换手机,大家给推荐一款吧!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3