Softwarearchitektur: Unterschied zwischen den Versionen

Aus Thoms Wiki
Zur Navigation springenZur Suche springen
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 27: Zeile 27:
* Tutorials, FAQs, Guidelines/Checklisten, Entscheidungs- und Bewertungstabellen, Gesprächsprotokolle
* Tutorials, FAQs, Guidelines/Checklisten, Entscheidungs- und Bewertungstabellen, Gesprächsprotokolle
* So viel beschreiben wie nötig, nicht so viel wie möglich!
* So viel beschreiben wie nötig, nicht so viel wie möglich!
== UML ==
* Unified Modeling Language
* https://draw.io
* https://yuml.me
== MV* ==
MV*
* MVC - Model View Controller
* MVP - Model View Presenter
** Passive View
** Supervising Presenter
* MVVM - Model View ViewModel (DataBinding zwischen View und ViewModel)
** Presentation Model
* https://martinfowler.com/eaaDev/SupervisingPresenter.html
* https://hendrik-loesch.de
Die Darstellung ist die View. Die Datenhaltung/die Geschäftslogik ist das Model. Trennung der Verantwortlichkeiten. 
* PAC - Presentation Abstraction Control
* Flux (insbesondere bei Vue.js, React oder Angular)
== Weiteres ==
* CQRS Command Query Responsibility Segregation


== Literatur ==
== Literatur ==

Aktuelle Version vom 9. Dezember 2023, 14:48 Uhr


„Softwarearchitektur ist die Summe aller wichtigen Entscheidungen. Wichtige Entscheidungen sind alle Entscheidungen, die im Verlauf der weiteren Entwicklung nur schwer zu ändern sind."
Philippe Kruchten

Softwarearchitekt

  • Übersetzer
  • Techniker
  • Visionär
  • Planer
  • Analyst
  • Manager
  • Problemlöser
  • Hausmeister - z.B. Codereview - Aufpassen, dass der Quellcode nicht verschmutzt
  • Verantwortung (dass die Software langfristig funktionstüchtig bleibt)
  • Vetoerecht - darf auch mal Nein sagen

Dokumentation

  • Verständnis schaffen
  • Aufwände verringern (vorher und nachher)
  • Vorgehen nachvollziehbar machen
  • Entscheidungen begründen
  • UML: https://de.wikipedia.org/wiki/Unified_Modeling_Language
  • https://arc42.org
  • Tutorials, FAQs, Guidelines/Checklisten, Entscheidungs- und Bewertungstabellen, Gesprächsprotokolle
  • So viel beschreiben wie nötig, nicht so viel wie möglich!

UML

MV*

MV*

  • MVC - Model View Controller
  • MVP - Model View Presenter
    • Passive View
    • Supervising Presenter
  • MVVM - Model View ViewModel (DataBinding zwischen View und ViewModel)
    • Presentation Model

Die Darstellung ist die View. Die Datenhaltung/die Geschäftslogik ist das Model. Trennung der Verantwortlichkeiten.

  • PAC - Presentation Abstraction Control
  • Flux (insbesondere bei Vue.js, React oder Angular)

Weiteres

  • CQRS Command Query Responsibility Segregation

Literatur

  • Lilienthal, Carola: Langlebige Software-Architekturen: Technische Schulden analysieren, begrenzen und abbauen. 2. Aufl. Heidelberg: Dpunkt.Verlag GmbH, 2017.
  • Design Patterns: Elements of Reusable Object-Oriented Software (Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides) (= GOF)