Ich habe gerade angefangen, an einem Projekt zu arbeiten, und wir verwenden domänengesteuertes Design (wie von Eric Evans in Domain -gesteuertes Design definiert : Komplexität im Herzen von Software angehen . Ich glaube, dass unser Projekt sicherlich ein Kandidat für dieses Design ist Muster, wie Evans es in seinem Buch beschreibt.
Ich kämpfe mit der Idee, ständig umzugestalten.
Ich weiß, dass Refactoring in jedem Projekt eine Notwendigkeit ist und unvermeidlich sein wird, wenn sich die Software ändert. Nach meiner Erfahrung tritt Refactoring jedoch auf, wenn sich die Anforderungen des Entwicklungsteams ändern, und nicht, wenn sich das Verständnis der Domäne ändert ("Refactoring zu größeren Einsichten", wie Evans es nennt). Ich bin am meisten besorgt über Durchbrüche beim Verständnis des Domänenmodells. Ich verstehe kleine Änderungen, aber was ist, wenn eine große Änderung im Modell erforderlich ist?
Was ist ein effektiver Weg, um sich (und andere) davon zu überzeugen, dass Sie einen Refactor durchführen sollten, nachdem Sie ein klareres Domain-Modell erhalten haben? Schließlich könnte das Refactoring zur Verbesserung der Codeorganisation oder -leistung völlig unabhängig davon sein, wie aussagekräftig der allgegenwärtige Sprachcode ist. Manchmal scheint es einfach nicht genug Zeit zu geben, um umzugestalten.
Glücklicherweise eignet sich SCRUM für das Refactoring. Die iterative Natur von SCRUM macht es einfach, ein kleines Stück zu bauen und es zu ändern. Aber mit der Zeit wird dieses Stück größer und was ist, wenn Sie einen Durchbruch haben, nachdem dieses Stück so groß ist, dass es zu schwierig ist, es zu ändern?
Hat jemand an einem Projekt mit domänengesteuertem Design gearbeitet? Wenn ja, wäre es großartig, einen Einblick in diese zu bekommen. Ich würde besonders gerne einige Erfolgsgeschichten hören, da es sehr schwierig zu sein scheint, DDD richtig zu machen.
Vielen Dank!