我看 Enterprise Java with UML中文版

最近想看一本UML设计和Java实现方面的书籍,挑选了china-pub中书评还算比较好的这本。

半个小时内翻完,感觉如下:
如果你想学习UML,不要看这本书,它没有告诉你UML关键细节;
如果你想学习Java,更不能看这本书,它除了显示给你源程序外,什么也没教你。
如果是一个设计人员,当然无需看这本书,除了从中找到初级的同感外,它不能给你什么提高。


Enterprise Java with UML中文版

据说这本书 本书荣获Amazon读者五星评价,被公认为最佳UML入门图书之一。

真不知道它是怎么被评上了,本书除了反复声明一些正确的理论废话化,没有带给你更多的实践细节。


顶!!!!
看完这本书什么也没学到!!!

我看了这本书。既然bang先生这么说,那么为何不推荐几本比较好的书呢?
我并没有看太多UML方面的书。

我看了这本书的前三章,觉得不错;我看了这本书的附录,更觉不错;
讨论类之间的关系时不是很深入,但是绝对比《java与模式》讲的好!

我觉得一本好书,首先,不要有很多可笑的印刷错误,误导本来就可能咪咪忽忽的读者,其次,内容定位要准确;最后,作者要有责任心;

好书,大家共享;糟粕书,大家为money和time抱不平。

我看了这本书。既然bang先生这么说,那么为何不推荐几本比较好的书呢?
我并没有看太多UML方面的书。

我看了这本书的前三章,觉得不错;我看了这本书的附录,更觉不错;
讨论类之间的关系时不是很深入,但是绝对比《java与模式》讲的好!

我觉得一本好书,首先,不要有很多可笑的印刷错误,误导本来就可能咪咪忽忽的读者,其次,内容定位要准确;最后,作者要有责任心;

好书,大家共享;糟粕书,大家为money和time抱不平。

是的,这本书精彩部分只是在前三章,大部分还是UML知识,以及强调需求用例如何重要。

我形容它们是“正确的废话”,这是我的感觉,它有很多结论性结果,但是这些结果每个人可能有不同理解,它应该通过Java实例实践来反复证明这些结果,而不是以告诫的口吻。

主要是它的定位,UML、Java或面向对象设计概念,这三个方面都没有一个方面是侧重的,都涉及了,都没有讲透,有点和稀泥的感觉,不过,通常情况下这种书一般是挑不出刺来,既然没有人指出不对,那么就是好了。

我推荐的一些书籍会在11期“程序员”杂志书评中登载,由于版权原因我这里不贴出来了。

补充一点,我自己的书“Java实用系统开发指南”却是通过Java实例反复证明可扩展性、可伸缩性、可重用性是如何做到,书中也有UML图,但是那是紧紧和实例扣在一起,我在书中大概举了4个例子。当然,孩子是自己的好,具体如何,还待等出版后大家看到再说。

另外"Enterprise Java with UML中文版"这本书的考勤卡实例太简单,以致无法体现出UML和OOD的优势出来,书中的一整页顺序图竟然大部分是描述一个EJB的访问调用过程,正是浪费笔墨,还有代码中大量标准注释,/**这样注释符号就占据两行,还有大量空格行,硬把书撑厚了。
这些都是在浪费读者的金钱,可能美国人赚钱比较容易。

关于《java与模式》,因为当初电子出版社一个编辑同期也曾经让我写这本书,字数要很多,我认为设计模式这种高度概念的东西,不宜写得太厚,要写厚,就只有靠大量不同领域的实例,因为能力有限就勉强应付了。

因此,这本书我也不好说什么,要不是有这段原因,我会比“程序员”的熊节说得更直白,它确实没必要那么厚,它引用了很多中国传统文化和哲学,但是我认为他没有真正掌握中国文化的精髓,所谓“禅”“道”都是重在引导,言多必失,看看“禅”的那些书,都是言简意赅,很著名的一个例子,小和尚问禅师:什么是禅?(就类似什么是设计模式一样),禅师说:挑水去。禅师并没有证明回答,因为无法正面回答,不是一两句能说清楚了,设计模式也是这样。

http://www.csdn.net/Develop/read_article.asp?id=16367


确实,这本书刚刚出来我就在书店翻看过了,感觉跟banq差不多,什么都说了,什么都没说透,可以很轻松的读完,但什么都没学到...我觉得真正有用的书是必须花点时间精力来读的。
关于《java与模式》,我慕名买了,可以说,作者不知道怎么把书写薄,什么都写出来了,反而是他自己掌握得还不够透彻的标志,他也许是个很好的程序员,系统分析员,但是显然不是个好的布道者。1024页的书,读起来是种挑战,我宁愿他薄一点,也完全可以薄一点

现在的书籍经常发生买了就上当,出版社商家抄作太厉害,其实目前在中国出版行业中,出版社攫取最大的商业利润,可谓是暴利,甚至到了不择手段,作者和读者都是属于逆势地位。

这个机制不打破,永远不会有中国自己的原创、精品书籍出来。

如果有人写一本中文的《JBOSS3.2.2教程》,我举双手投他的票!

关于《JBOSS3.2.2教程》我觉得可能没有太多必要,因为它是一个J2EE规范的服务器,一般还是结合具体J2EE实例,知道如何在JBoss中部署就可以,所以JBoss3.2.2教程有特色的只是部署,其它都是属于J2EE开发规范中。

Java学习推荐书籍

彭晨阳 2003年10月13日


书名:Java编程思想
URL: http://www.china-pub.com/computers/common/info.asp?id=7241
评论:
其实这本书并不适合作为Java入门使用,有位朋友曾经说:看这种书有种看马克思选集的感觉,车轱辘话来回说,本来很简单的概念, 看过他的复杂的例子后,就云山雾绕了。当然,治疗失眠的效果是不错的。

我本人读这本书也是读了N多遍吧,总是感觉无法掌握其中一些概念, 不过在实践中遇到一些技术问题,会到书中查询,这样对书的理解不断加深, 但是一直无法理解这本书想说的编程思想到底是什么?已经隐隐约约地感觉到了,但是不能完全抓住。

只有我读了GoF的”设计模式“这本书以后,我才完全掌握这本书所说的编程思想, 应该说,这本书是介于Java基础技术和设计模式之间,因为是从技术细节角度出发,并且追求面向对象编程方法, 似乎将一些简单的事情搞得复杂化,主要是因为没有从OO设计高度深入阐明如此复杂化的原因。

书名:设计模式:可复用面向对象软件的基础
URL:http://www.china-pub.com/computers/common/info.asp?id=684
评论:
这本书应该说比Java编程思想还要难读的一本书,对于没有编程经验的初学者真是 犹如天书一样,这类读者我还是建议多理解一些Java源码,多练习做一些项目,多学习和掌握一些技术细节,当 技术掌握到一定程度,量变会产生质变,思维观点会更侧重于设计,这时读这本书会顺利得多。

很多有经验的程序员经常拥有自己朴素的编程思想,如:编程要有灵活性,要有可预见性,但是关键问题是如何实现呢? 读这本书应该说是从理论上帮助你解决这个问题,它提出了通过设计模式或框架来帮助程序实现系统的灵活性、可重用性、可拓展性和可伸缩性(预见性)。

这本书的引言部分很重要,也很通俗易懂,在引言部分阐述了设计是如何支持变化的,设计模式和框架从字面上理解 好像是限制,不变的意思,是与支持变化正好相反,实际不是这样,设计模式和框架正是用来支持变化的。

一个软件系统可以看成由两个部分组成:“新”和“旧”。所谓“新”就是针对具体应用的新设计和新代码;而所谓“旧”, 就是重用了以前类似功能的软件组件或软件设计,后者正是设计模式和框架大显身手的地方。

读了这本书,确实让有朴素的编程思想的程序员有一种质的飞跃和提高;外国人形容犹如“耶稣重生”感觉, 中国人说:好似练习武功中打通了六脉,重新上了一个新层次,又犹如禅的一次顿悟,思想的乐趣无不体现其中。

书名:实用J2EE设计模式编程指南
URL:http://www.china-pub.com/computers/common/info.asp?id=8368
评论:

前面两本应该说是OO编程基础,有了前面两本书的“功底”,在学习J2EE/EJB时要容易得多,因为J2EE/EJB就是一种框架, 可以从EJB/J2EE具体使用和技术学习中体会仔细框架的概念。

这本书是从J2EE具体实践角度重申了系统可重用性、可拓展性和可伸缩性重要性和如何具体实现,实际上,它是一本 教你如何解决具体问题的书,Wrox网站有其中“安全管理模式”一章的PDF版本,它系统阐述了用户注册系统中单点登陆和 和统一验证的J2EE容器实现,通过J2EE容器实现用户注册系统,就无需编制任何Servlet或ServletFilter代码自己来实现 这两个功能,因为它们已经作为模式融入了J2EE框架设计中了。

通过阅读这本书,将设计模式/框架+J2EE实战两者紧密结合起来,真正实现了编程的灵活性和可预见性。当然该书的实战实例还是少了一些,而且目前从设计模式和框架角度探讨实践应用的书籍不多,这里我就“自私”一下, 本人的“java实用系统开放指南”在这方面做了进一步的探索和论述,即将由机械工业出版社出版,敬请关注。


书名:精通EJB (第2版)
URL:http://www.china-pub.com/computers/common/info.asp?id=4515
评论:
前面三本书都是从设计角度考虑推荐的,设计是编程的灵魂,但是只有灵魂没有肉体支持也是虚的,这本书从具体技术原理角度 讨论了EJB的构成原理和使用方法,注意一定要阅读第2版,第2版是针对EJB 2.0,现在普遍使用的是EJB 2.0技术。

EJB的学习分两个方向:使用方法和构成原理,学习EJB使用方法相对简单一点,因此阅读这本书时,要明确你的宗旨,时刻 记住你的方向,推荐初学者先从学习EJB使用方法入手,因此书中有关原理方面的就跳过,等你学会使用EJB后,再返回研究 “为什么这样做”的问题。

EJB学习使用分Session Bean和Entity Bean以及MDB等几种,学习途径建议下列步骤:
1.Session Bean开始学习(不学习实体Bean),通过书中使用方法,在Session Bean中直接调用SQL语句操作数据库。
2.学习J2EE设计模式中的DAO,将第一步的Session直接调用JDBC升级为Session+DAO+JDBC。
3.选择一种持久层技术,如果愿意学习实体Bean,这时可以研究CMP 2.0或BMP,当然也可以学习其它持久层技术如Hibernate或JDO等, 实现Session+DAO+Hibernate等。

最后,该书还介绍EJB集群计算技术,该技术使用EJB的重要原因之一,通过集群技术,可以实现多台服务器的分布式计算,从而 增强系统的计算能力,而这些都无需开发者自己开发这些技术细节,通过EJB容器配置就自动完成,因此,一个EJB应用系统可以单机 运行,也可以迅速方便地扩展为多台甚至几百台服务器上运行,这就体现了EJB强大的伸缩性。

书名:Core J2EE Patterns (Core Design Series): Best Practices and Design Strategies第2版
URL:http://www.china-pub.com/computers/common/info.asp?id=13414
评论:
其实,EJB/J2EE技术本身不复杂,使用也很简单,之所以很多人认为不好用,我认为还是因为其中参入了设计模式和框架概念, 所以还是有必要了解一下J2EE的核心模式,这是第2版的J2EE核心模式。

曾经收购易趣30%左右股份的eBay公司首席架构师John Crupi参与了编写,eBay已经使用了多年的J2EE系统,在这本书中, John Crupi从eBay J2EE实践角度提出了一些新的设计模式,实际就是他们实践经验的总结。

要完全理解这本书,需要配合具体应用系统,对应Sun的Petstore(http://developer.java.sun.com/developer/releases/petstore/)
学习J2EE的设计模式,是一种好的方式,当然,除了设计模式以外,Petstore其它设计特点是有争议的,例如界面的WAF框架设计 (过于复杂,现在更多使用的是Struts);还有其Web与EJB接口调用框架,都存在一些问题。

个人认为这本书介绍的Service Locator模式、DAO模式、TO模式(DTO模式或VO)是非常实用和重要,几乎每个J2EE系统都必须使用到, 其它有关界面View模式,如果你选择Struts这样MVC模式框架,就不必太关心,因为Struts框架本身已经将这些模式包含进入。

小结:
由于Java/J2EE发展迅速,相关书籍的出版总是有一定滞后,而且理论结合实践的实战方面书籍相对比较少(当然,从一个角度 理解,设计模式可以看成是实践经验的总结),因此,第六本书就虚位以待吧,希望有更好的Java书籍出版。

我不觉得Enterprise Java with UML书写的很差,也许是我还是一个菜鸟,但从uml在实际项目中的应用我个人感觉这本书写的很不错,至少他可以让一个对uml在实际项目中的应用不太熟悉的人有一个很直观的参考

在一个项目中不是简单的类图就可以说明一切的,而这本书却教会你如何去从最初的什么都没有,去用UML来构建一个系统,JAVA并不是这本书的重点

幸好没看,给推荐本UML好书!!
关于系统设计类的好书,推荐一下!