Si considera un'implementazione di un pattern di Supertype di livello?

2

1. Secondo la definizione di Fowler questo modello è implementato avendo tutte le classi in un livello ereditate da una superclasse. Ma dopo alcuni googling sembra che tutti i seguenti sono considerati come implementazioni di un pattern Layer Supertype :

a - tutte le classi in un livello ereditato dalla stessa superclasse
b - avendo solo alcune (quindi non tutte) delle classi in un livello che eredita da una superclasse c - layer con superclassi S1 e S2 , dove le classi A e B ereditano da S1 , mentre C eredita da S2

Quindi quali di questi sono considerati come implementazioni di un livello Supertype ?

2. Se a, b e c sono tutti considerati implementazioni di un SuperType di livello , allora non riesco a vedere come questo modello è diverso da un normale ereditarietà di classe . In altre parole, non potremmo quindi affermare che stiamo usando Layer Supertype ogni volta che una classe eredita da un'altra classe?

grazie

    
posta EdvRusj 19.06.2013 - 20:23
fonte

1 risposta

2

Come definito da Fowler, solo a sarebbe un Supertipo di livello. Tuttavia, le persone considerano gli altri Supertipo di livello in quanto sono specifici per un livello - tutti i sottotipi del supertipo devono esistere ed essere rilavanti allo stesso livello.

Consideriamo, ad esempio, il livello di vista in un'applicazione MVC. Potresti avere finestre o pagine che estendono un singolo supertipo, ma anche classi di helper o classi di strategia che vivono anche nel livello per supportare la vista. Il supertipo è molto legato allo strato, in questo caso, anche se non è alla base di tutto. Non penso sia sbagliato chiamarlo una superclasse di livelli.

    
risposta data 20.06.2013 - 00:19
fonte

Leggi altre domande sui tag