Bara2 hat geschrieben:Verständnisfrage zu Aufgabe 4:
Betrachten sie dabei die folgenden potentiellen Reuse-Fälle:
- Payroll ohne Transaktionen
- Auswahl an Features: classifications, methods, schedules, affiliations
Wenn ich das mache, lande ich doch wieder beim Ausgangs-Code, oder? Wenn ich alle Transactions wieder aus den einzelnen Packages rausnehmen muss, classifications etc alleine benutzen können will, dann hätte ich Aufgabe 2 nicht machen müssen.
Verstehe ich da etwas falsch?
Hallo Bara2,
Die Klassen müssen nicht wieder dort hin zurück wandern müssen, wo sie hergekommen sind...
Wenn sie nicht "zurück dürfen" und auch nicht "dort bleiben können", dann müssen "sie eben anderswo hin"!
Versuche die folgene Frage zu beantworten:
1) Kannst Du ein Release erstellen, dass aus einer Selektion von verschiedenen Packages besteht, das keine Transaction Klassen enthält? (ohne dann
2) Kannst Du ein Release erstellen, dass aus einer Selektion von verschiedenen Packages besteht, das keine PaymentMethod Klassen enthält?
3) Kannst Du ein Release erstellen, dass aus einer Selektion von verschiedenen Packages besteht, das keine PaymentClassification Klassen enthält?
...
Versucht dabei die Zerlegung aus Aufgabe 2 beizubehalten, sonst verletzt ihr ja wieder das CCP.
Man möchte nicht die Packages wieder zusammenführen, denn dann könnte man 2)+3) nicht erfüllen...
Was bleibt ist wohl die einzige Möglichkeit einige Package weiter aufzutrennen...
so dass das REP erfüllt wird.
Wenn ihr eine Zerlegung der Klassen mit einer Package-Struktur finden könnt, für die alle die obigen Fragen mit JA beantworten kann.
Dann habt ihr das REP erfüllt.
Gruß, Tom