Zwiebelarchitektur vs 3-Schicht-Architektur

11

Ich sehe nur Vorteile für die Zwiebelarchitektur gegenüber der dreischichtigen Architektur, bei der die BL dafür verantwortlich war, Methoden auf DAL (oder einer Schnittstelle von DAL) aufzurufen, um CRUD auszuführen. Die Zwiebel hat eine bessere Trennung von Bedenken, Testbarkeit, Wartbarkeit und ist sauberer.

Ist die Zwiebelarchitektur in allen Aspekten tatsächlich besser und die dreischichtige Architektur ist nur eine alte Vorgehensweise, oder es gibt einige Szenarien, in denen ich die dreischichtige Architektur bevorzugen sollte, wenn ja - welche?

BornToCode
quelle

Antworten:

10

Schichten, Zwiebeln, Ports, Adapter: es ist alles das gleiche

Da in diesem Artikel klargestellt wird, dass Zwiebeln einer 3-Schicht + Anwendung des Dependency Inversion Principle (DIP) entsprechen, stellt sich die Frage: "Wo sollte ich DIP bevorzugen?" Ich würde sagen, jedes Nicht-Spielzeug-Projekt. Durch die Verwendung von DIP kann der Kern Ihres Codes isolierter, testbarer und wartbarer werden. Wenn Sie sich wirklich nicht darum kümmern, handelt es sich um ein Wegwerfprojekt oder wenn Sie Wartbarkeit gegen Leistung eintauschen.

Verwechseln Sie DIP auch nicht mit DI-Containern (Dependency Injection). Eins impliziert nicht das andere.

Kasey Speakman
quelle