Softwarearchitektur: Unterschied zwischen den Versionen

Aus Das Sopra Wiki
Thomas (Diskussion | Beiträge)
Die Seite wurde neu angelegt: „Den Softwareaspekt mal außen vorgelassen, so weckt der Begriff „Architektur“ doch gewisse Vorstellungen in uns. Der Architekt – hochgebildet und erfahre…“
 
Thomas (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 11: Zeile 11:
* Testen
* Testen


Und eben diese Aspekte nehmen die meiste Zeit in Anspruch, je größer ein Softwareprojekt wird.
Und eben diese Aspekte nehmen die meiste Zeit in Anspruch, je größer ein Softwareprojekt wird. Schlussendlich gilt jedoch: Der Erfolg gibt Recht. Und erfolgreich kann man mit verschiedenen Ansätzen sein.<ref>Amy Brown, Greg Wilson, editors. The Architecture of Open Source Applications. Volume I and II. 2014. https://www.aosabook.org</ref>


== Bewährte Prinzipien ==
== Bewährte Prinzipien ==


<ref>Robert C. Martin. Clean Code: A Handbook of Agile Software Craftsmanship. Prentice Hall, 2017.</ref>
Robert C. Martin stellt in seinem Buch „Clean Architecture“ eine Reihe von Behauptungen auf:<ref>Robert C. Martin. Clean Code: A Handbook of Agile Software Craftsmanship. Prentice Hall, 2017.</ref>
 
* Architektur ist wichtiger als Funktionalität. Gute Architektur erleichtert das Vornehmen von Veränderungen. So kann Funktionalität hergestellt werden. Andersrum ist es schwieriger.
* Ein Softwarearchitekt sollte gleichzeitig auch ein Programmierer sein. Es ist schwer, gute Designentscheidungen zu treffen, wenn man von diesen nicht auch selbst betroffen ist.
* Das Ziel guter Architektur ist es, so viele Entscheidungen wie möglich so lange wie möglich hinauszuzögern.
 
'''Anmerkung:''' Robert C. Martin's Bücher sind zwar stets empfehlenswert, jedoch nicht ohne Kontroversen.
 
Zur Umsetzung eben dieser Grundsätze gibt er folgende Ratschläge mit auf den Weg:
 
=== Grenzen abstecken (Boundaries) ===
 
=== In Use Cases denken statt in Implementierungsdetails ===
 
=== Design for Testability ===


== Besonderheiten bei der Entwicklung von Videospielen ==
== Besonderheiten bei der Entwicklung von Videospielen ==
Zeile 30: Zeile 44:
== Referenzen ==  
== Referenzen ==  
<references />
<references />
* Amy Brown, Greg Wilson, editors. The Architecture of Open Source Applications. Volume I and II. 2014. https://www.aosabook.org