È generalmente considerato una buona pratica per un nome class per riflettere il nome namespace in cui esiste, oppure il nome namespace dovrebbe essere considerato parte del nome class ?
Ad esempio, supponiamo di avere una raccolta di classi che agiscono tutte per filtrare un class Foo :
class FooFilter
{
public virtual bool operator()(const Foo& obj) const = 0;
};
I sottotipi potrebbero essere chiamati HappyFooFilter , SadFooFilter , ... ecc.
Ora se li avvolgiamo in uno spazio dei nomi, abbiamo qualcosa del tipo:
namespace fooFilter
{
class FooFilter ...
class HappyFooFilter ....
class SadFooFilter ...
etc ....
}
Ma questo contiene una ridondanza nei nomi delle classi (ad esempio fooFilter::HappFooFilter ). Quindi, con l'introduzione di namespace fooFilter , i nomi delle classi dovrebbero cambiare per riflettere questa nuova struttura?
namespace fooFilter
{
class Base ...
class Happy ....
class Sad ...
etc ....
}