我正在考虑购买Martin Fowler的“企业应用程序体系结构模式”。
从我看来,这似乎是一本很棒的书,一本对企业Java有偏见的架构书,正是我所需要的。
但是,在计算机时代,它已经很老了。2003年已经很久了,自那时以来,事情发展了很多。
因此,我想知道是否有人可以告诉我:这本书是否仍然有意义,是否值得阅读?
我正在考虑购买Martin Fowler的“企业应用程序体系结构模式”。
从我看来,这似乎是一本很棒的书,一本对企业Java有偏见的架构书,正是我所需要的。
但是,在计算机时代,它已经很老了。2003年已经很久了,自那时以来,事情发展了很多。
因此,我想知道是否有人可以告诉我:这本书是否仍然有意义,是否值得阅读?
Answers:
是的,它仍然是非常有用的资源。
这本书以及有关域驱动设计的Eric Evans书籍,是我年度的书籍-每年;)...
这非常相关。我经常向其他开发人员推荐该书中的特定模式,作为指向其站点(http://www.martinfowler.com/eaaCatalog/)的链接,例如Data Transfer Object和Service Layer。
后者是我以为我已经“发明”的一种,直到我看到Fowler已经写过它。
鉴于这个问题的答案已有3年历史了,我觉得重要的是重申马丁·福勒(Martin Fowler)的模式的相关性。
GOF设计模式书于1994年首次出版,至今仍被认为与其中的许多模式相关。我们可能已经对它们有了更深入的了解,并产生了一些细微的变体,但是它们是任何好的OO设计的基础。
现代语言越来越多地在后台实现某些模式,因此从理论上讲,开发人员不必了解它们(例如,通过yield
C#中的语句进行的Iterator模式)。但是,开发人员是更好的了解他们的人。
继续阅读马丁的书-这绝对仍然有意义。的确,许多库现在在后台支持这些模式,再次将它们从开发人员中抽象出来,但它们再次成为企业应用程序软件开发的核心。
他们解决了反复出现的问题,而与语言,系统或平台无关。
我不同意“偏向Java”的说法。就其性质而言,模式与语言无关。它们被定义为常见问题的解决方案。Fowler的书的副本中有Java和C#的示例,因此我看不到“偏见”的来源。它们是最常见的面向对象语言,他正在谈论面向企业问题的面向对象解决方案。
GoF书中有Smalltalk和C ++的示例。为什么他们对Java和C#如此“偏向”?提示:在编写本书时,语言并不存在,但是模式与以往一样相关。
当前是我大学 信息系统设计原理课程中使用的教科书。