Classi condivise tra spazi dei nomi, come distribuirle?

-2

Qualche tempo fa ho letto da questo libro che gli spazi dei nomi all'interno delle librerie dovrebbero essere distribuiti in modo che i namespace interni avere classi più concrete rispetto ai loro spazi dei nomi principali. Possiamo trovare un esempio di questo all'interno del namespace System.Net , dove possiamo trovare la classe WebClient . Questa classe ha un livello di astrazione più alto di Socket che si trova all'interno dello spazio dei nomi System.Net.Sockets (infatti, WebClient utilizza Socket ).

La mia domanda è, che ne dici di tutte quelle classi usate dagli spazi dei nomi dei genitori e dei discendenti? In quale spazio dei nomi dovrei metterli? Dovrei crearne uno nuovo diverso chiamato qualcosa come Parent.Shared e importarli da Parent , da Parent.Child e da Parent.Child.GrandChild ?

    
posta amedina 21.08.2018 - 10:35
fonte

1 risposta

2

I namespace sono un meccanismo per mostrare una correlazione tra le classi. Le classi all'interno di uno spazio dei nomi dovrebbero essere correlate tra loro e il nome dello spazio dei nomi dovrebbe fornire un'indicazione della comunanza tra le classi.
Ad esempio, tutte le classi all'interno dello spazio dei nomi System.Net sono classi correlate alla rete.

Questo suggerisce che è meglio guardare i nomi dei nomi dei nomi come se dessero un'organizzazione come library.topic.subtopic .

Supponiamo di avere i seguenti spazi dei nomi

library.topic1
library.topic1.subtopic1a
library.topic1.subtopic1b
library.topic2

Ci si può aspettare che le classi in subtopic1a rappresentino concetti più concreti / dettagliati rispetto alle classi in topic1 . Ciò significa che sarebbe strano vedere una classe in subtopic1a che fa riferimento a una classe in topic1 , ma sarebbe perfettamente normale vedere i riferimenti alle classi in subtopic1b o in topic2 . Gli spazi dei nomi sono non così gerarchici che puoi solo fare riferimento alle classi in "livelli più bassi".

    
risposta data 21.08.2018 - 12:26
fonte

Leggi altre domande sui tag