Ich habe vor kurzem mit Spring Roo experimentiert. Es macht eine sehr gute Arbeit, ein Domänenmodell mit integrierter Persistenz schnell zu erstellen. Als es Persistenz-Funktionalität in Aspekten hinzugefügt, begann ich über die folgende Frage nachzudenken:Ersetzen Aspekte Repositorys?
Roo fügt Finder (Laden einer Instanz einer Klasse aus der Datenbank, die variable Kriterien erfüllt) in einem Aspekt der tatsächlichen Klasse/Entität. In DDD ist dies IMHO die Verantwortung von Repositories. Repositories sind explizite Klassen, die im Design erscheinen. Natürlich ist die Repository-Funktionalität als ein Aspekt in einer Entität versteckt und ziemlich unsichtbar.
Hier ist also die Frage: Ist ein Aspekt ein echter Ersatz für eine explizite Repository-Klasse? Gibt es irgendwelche Nachteile für den Roo AOP Ansatz?