2017-04-26 2 views
1

Ich bin auf der Suche nach einem Begriff, der ein Designmuster (oder Anti-Pattern) beschreibt, das beschreibt, wenn ein System durch Verallgemeinerungen und nicht durch die Geschäftsbedingungen organisiert wird.Was ist das Gegenteil von domänengesteuertem Design?

Zum Beispiel betrachten die Domäne angetrieben Beispiel:

Customer.Load 
Account.Load 
Orders.Load 

vs:

Load.LoadCustomers 
Load.LoadAccounts 
Load.LoadOrders 

Ein weiteres Beispiel hier könnte in mvc gesehen: ASP.NET MVC - putting controller & associated views in the same folder?

Während mehr über Organisation vs Design , der Kommentar von pettys IMO ist korrekt:

Erkennen Sie, dass es zwei Dimensionen des Systems im Widerspruch stehen, die Architektur und das Geschäft. Das Original-Poster möchte alle Teile, die sich mit einem bestimmten Unternehmensbereich befassen, an einem Ort aufbewahren. Das ASP.NET MVC-Standardlayout verbreitet eine einzelne Geschäftsangelegenheit ziemlich ein bisschen, so dass architektonisch ähnliche Klassen zusammen bleiben können. Zwischen diesen beiden Möglichkeiten würde ich eher Dinge von Unternehmen Sorge als durch architektonische Sorge

Es gibt nur einen Weg, physisch zu organisieren, um das Projekt gruppiert haben. Das OP bittet um Organisation nach Domain und Pettys beschreibt die Standardorganisation als "architektonisch" organisiert. Aber es ist diese "architektonische" Organisation, die ich besser klassifizieren möchte.

Es scheint mir, dass dies aspektorientiert ist Design, dh Design favorisiert eine Klassifizierung in Bezug auf einen allgemeinen Prozess statt spezifischer Bedingungen des Geschäfts. Ich beabsichtige nicht, dies mit aspektorientierter Programmierung zu verwechseln, die zu DDD komplementär sein kann, aber es ist verwirrend, weshalb ich mich frage, ob es einen besseren Namen gibt.

+0

Sie wahrscheinlich, dass "Service-orientierte Architektur" nennen könnte (natürlich mit einer negativen Konnotation).Ihr zweites Beispiel betont das WAS und ignoriert dabei die WARUM-Seite der Dinge. – GhostCat

+0

Operation Driven Design (ODD)? –

+0

Ich habe noch nie von einem Namen für diese Architektur gehört. Aber es scheint definitiv die prozedurale Programmierung anstelle von OOP zu bevorzugen. Ich glaube, ich habe ein paar ähnlich nützliche Muster in mehreren Blogposts gesehen, die behaupten, der Heilige Gral der Softwareentwicklung zu sein. – djvuk

Antwort

0

Es gibt zahlreiche Verallgemeinerungen, um die ein System organisiert werden kann. Soviel ich weiß, gab es einige wenige in der Zeit um 2003, als DDD veröffentlicht wurde.

  • Tabellengesteuertes oder datengesteuertes Design, bei dem die Implementierung normalerweise aus einer bestimmten Menge relationaler Daten abgeleitet wird.
  • Modellgesteuertes Design, bei dem die Implementierung normalerweise aus UML-Diagrammen abgeleitet wird.
  • Konfigurationsgesteuertes Design, bei dem in der Regel so viele Implementierungen wie möglich in XML-Dateien konvertiert werden.
  • Ich bin mir sicher, dass es mehr gab, und man könnte sagen, dass sich alle mehr auf die Architektur des Systems als auf seine Domäne konzentrieren. Im Nachhinein könnten Sie einige oder alle als anti-Muster betrachten. In den Worten von Neal Ford,

    Das beste Verfahren heute ist das Anti-Pattern von morgen.

    Referenz: https://visualstudiomagazine.com/articles/2015/07/01/domain-driven-design.aspx

    +0

    Ich mag das Zitat;) –

    +0

    Dies veranlasste mich zu versuchen, gegen bekannte Anti-Muster zu entsprechen: https://en.wikipedia.org/wiki/Anti-pattern#Software_design Dies ist sorta die "BaseBean" Idee. –

    Verwandte Themen