$K(Einführung) $KK(Was ist guter Design) Hier meine Lieblingsdefinition aus einem [e|Tutoriel>http://www.xprogramming.com/SD2000Tutorial/index.htm] über [e|Extreme Programming>http://www.xprogramming.com/]. The right design for software is one that # Runs all the tests # Has no duplicated logic. # States every intention important to the programmers # Has the fewest possible classes and methods In der obigen Definition ist die Reihenfolge der Anforderungen entscheident. Ein Wesen von Extreme Programming ist, daß es keine Softwareanforderung gibt, die nicht durch Tests abgedeckt wird. NOT * Most hooks * Most abstract * Designed for ages $KK(Was ist Refactoring) Durch Refactoring wird die interne Struktur von Software, aber nicht das externe Verhalten geändert. Das Ziel von Refactoring ist es den Design von Software zu verbessern. Dadurch verspricht man sich leichtere Wartung und Weiterentwicklung, sowie ein höherer Grad an Wiederverwendbarkeit