2009-03-28 9 views
72

Ich denke über den Kauf von Martin Fowlers "Patterns of Enterprise Application Architecture" nach.Fowlers "Muster der Enterprise Application Architecture" noch relevant?

Von dem, was ich sehe, scheint es wie ein großartiges Buch, ein Architekturbuch mit Vorliebe für Enterprise Java - genau das, was ich brauche.

Allerdings ist es in Computerjahren ziemlich alt. 2003 war lange her und die Dinge sind seither ziemlich weit fortgeschritten.

Ich frage mich also, ob mir jemand sagen kann: Ist dieses Buch noch immer relevant und lohnenswert?

+3

Leute neigen immer noch dazu, GoF zu zitieren. –

+9

Ein Programmiersprachenbuch von 2003 wäre veraltet. Bei PEAA geht es jedoch nicht um eine Programmiersprache, sondern um objektorientiertes Design. Wenn Sie nicht auf die nächste große Sache (wie funktionale Programmierung oder Modellprogrammierung mit M) umgestiegen sind, ist dieses Buch heute genauso relevant wie an dem Tag, an dem es veröffentlicht wurde. –

+2

Wie ist funktionale Programmierung das nächste große Ding? Es geht zurück auf die 50er Jahre mit LISP (1958), und sogar bis zu den dreißiger Jahren, wenn man Lambda Calculus betrachtet, aber lasst uns nicht pingelig machen. Ja, es ist immer noch lebendig und munter. Aber das nächste große Ding ... dann ist Alphabet das nächste große Ding: D – Kheldar

Antwort

87

Ja, es ist immer noch sehr relevant und eine hervorragende Ressource.

+2

... und nicht nur für Java-Entwickler. Es ist in der Tat eine großartige Lektüre und Sie brauchen kein spezielles Java-Wissen, um zu verstehen, worüber er schreibt. – aurora

+6

Noch 2015 wahr? – robsch

+2

@robsch Ja, immer noch relevant. –

6

Ich stimme der Aussage "Bias gegenüber Java" nicht zu. Muster sind ihrer Natur nach sprachunabhängig. Sie sind als Lösungen für allgemeine Probleme definiert. Die Kopie von Fowlers Buch enthält Beispiele sowohl in Java als auch in C#, so dass ich nicht sehen kann, wo die "Verzerrung" auftritt. Sie sind die gebräuchlichsten objektorientierten Sprachen und sprechen über objektorientierte Lösungen für Unternehmensprobleme.

Das GoF-Buch enthält Beispiele in Smalltalk und C++. Warum sind sie so "voreingenommen" gegen Java und C#? Hinweis: Die Sprachen existierten nicht, als das Buch geschrieben wurde, aber die Muster sind so relevant wie immer.

+0

Nun, ich habe das Buch nicht gelesen, also weiß ich es nicht wirklich ... ich habe meine Vorurteile nicht schlecht gemeint. Es wäre wahrscheinlich korrekter gewesen, "die gebräuchlichen objektorientierten Sprachen zu sagen, die im Unternehmen verwendet werden", aber ich bin ein Java-Typ - wenn ich "objektorientierte Sprache im Unternehmen" denke, denke ich Java. –

+0

Einverstanden, aber andere Leute, die Ihren Kommentar lesen, denken vielleicht, Sie hätten es gelesen und scheuen sich, weil sie keine Java-Leute sind. Ich wollte es klären. – duffymo

+0

Das ist von Natur aus nicht wahr. Alle Sprachen, die Sie angeben, waren Imperativsprachen. Sie brauchen funktionale Muster in funktionalen Sprachen, Imperativmuster in Imperativsprachen usw. Denken Sie darüber nach, dass Muster, die auf Mutation beruhen, nicht in einer reinen funktionalen Sprache funktionieren. Vermutlich würden keine Muster, die wir normalerweise verwenden, mit Prolog oder Erlang funktionieren. Einfach gesagt, in einem vernünftigen Ausmaß - es ist wichtig. – jQwierdy

2

Ja das Buch immer noch relevant ist. Sie können gebrauchte Kopien bei Amazon abholen, wenn Sie sich Sorgen um den Wert machen und diese über denselben Kanal verkaufen.

5

Absolut!

Das Buch ist ein Klassiker. Ich habe es gerade gelesen, um bei der Arbeit an ereignisgesteuerten Buchhaltungssystemen zu helfen.

Fowler hat wieder einige der Muster seit und Sie können seine works in progress sehen.

+0

Der Link ist kaputt. – Piovezan

+0

feste Verbindung zu neuer Seite mit den Musterartikeln –

5

Sehr relevant, und sicher nicht an eine Sprache gekettet. Sehen Sie, wie die bevorstehenden Rails zu Merb bewegt werden, in einem sehr realen Sinne eine Bewegung von einem Muster in POEAA (ActiveRecord) zu einem anderen (DataMapper).

Viele andere Konzepte, von ORM-Strategien bis zum Sitzungsmanagement, sind sowohl relevant als auch sprachenunabhängig. Ich bin immer noch platt, wenn ich lese, wie groß der Einfluss von Fowler ist. Er erfand hier nicht alle Konzepte, aber er kodifizierte und benannte diese Ideen auf eine so prägnante und verständliche Art und Weise, dass sie in der Industrie allgemein gesprochen werden. Immer noch wichtig.

10

Angesichts der Tatsache, dass die Antworten auf diese Frage jetzt drei Jahre alt sind, hielt ich es für wichtig, die Relevanz der Muster von Martin Fowler neu zu formulieren.

Das GOF-Entwurfsmusterbuch wurde erstmals 1994 veröffentlicht, und viele seiner Muster werden immer noch als relevant angesehen. Vielleicht sind wir zu einem tieferen Verständnis von ihnen gekommen und haben subtile Varianten produziert, aber sie sind dort als Grundlage für jedes gute OO-Design.

Moderne Sprachen implementieren zunehmend einige der Muster hinter den Kulissen, so dass der Entwickler theoretisch nichts über sie wissen muss (ein Beispiel ist das Iterator-Muster durch die yield-Anweisung in C#). Aber der Entwickler ist ein besserer, um sie zu kennen.

Das Buch von Martin weitergehen - das ist absolut relevant. Es ist wahr, dass viele Bibliotheken diese Muster jetzt im Hintergrund unterstützen und sie wieder vom Entwickler abstrahieren, aber wiederum sind sie der Kern der Entwicklung von Unternehmensanwendungssoftware.

Sie lösen Probleme, die immer wieder auftreten, unabhängig von Sprache, System oder Plattform.