Lets sagen, dass ich die folgende Struktur in Java haben:Entwurfsmuster - Welches Muster ist das?
@MappedSuperClass
public class User extends AbstractEntity { ... }
@Entity
public class SuperUser extends User { ... }
@Entity
public class RegularUser extends User { ... }
Dieses Projekt in RESTful-Endpunkte mit 3 Schichten aufgebaut ist (Ressourcen, Dienste und Repositorys) mit generischen Abstraktionen:
public class AbstractRepository<T extends AbstractEntity> { ... }
jetzt will ich einige DB-Methoden über alle Arten von User
ausgeführt haben, so habe ich diese Repository-Schicht:
public class UserRepository extends AbstractRepository<User> { ... }
Kann man es als Adapter oder vielleicht Bridge bezeichnen, da seine Ausführungslogik die Funktionalität zweier anderer Klassen (RegularUserRepository
und SuperUserRepository
) einkapselt?
Ich denke, Sie meinen 'AbstractRepository'? –
shmosel
Also ist jede Oberklasse jetzt ein Designmuster? – shmosel
Es gibt ein Delegatenmuster Wenn 'UserRepository '' RegularUserRepository' und 'SuperUserRepository' verwendet, um seine Arbeit zu delegieren. Ich würde diesen Adapter nicht nennen, da Sie sich nicht von a nach b anpassen, und ich würde es nicht Bridge nennen, weil nichts beabsichtigt ist, um die Implementierung von der Abstraktion zu entkoppeln. – zapl