¿Es aceptable usar la palabra 'Base' en un nombre de clase que está en la parte inferior del árbol de herencia?Usando "Base" en un Nombre de clase
Siempre me ha resultado un poco difícil, solo me pregunto si alguien está de acuerdo conmigo.
Por ejemplo, si estoy refabricando ciertos elementos de MyClassA y MyClassB en una clase base común, estaría tentado de crear un MyBaseClass del que los dos hereden.
¿Pero qué sucede si alguna vez necesito refactorizar MyBaseClass? MyBaseBaseClass? Ahora eso es tonto.
Sé que a Rocky Lhotka no le molesta su marco CSLA, pero siempre me incomodan las 'definiciones' en la programación.
¿Pensamientos?
Déjenme aclarar por qué Estoy preocupado por esto.
Tengo dos espacios de nombre: MySpecificNamespace y MyCommonNamespace. MyNamespace usa MyCommonNamespace, como era de esperar.
Ahora, me gusta utilizar al máximo los espacios de nombres siempre que sea posible para describir el contexto del problema y evitar agregar el contexto al nombre de la clase. Entonces, por ejemplo, considere que tengo una clase en MyNamespace que desciende de una en MyCommonNamespace.
Opción A
que podía llamada esta
MySpecificClass: MyClass
{
}
Pero entonces yo estoy añadiendo 'específico' (el contexto) al nombre - que es redundante, ya que ya se encuentra en MySpecificNamespace.
Opción B
MyClass: MyCommonNamespace.MyClass
{
}
se puede ver cómo podíamos conseguir confuso aquí, ¿verdad?
Opción C
El que yo creo que es a pescado:
MyClass: MyBaseClass
{
}
buena pregunta. gracias – frameworkninja
Gracias por la pregunta. Ha aparecido como una segunda entrada en una consulta que ingresé en Google, que quería ver si alguien me había preguntado lo mismo, que solo estaba cambiando el nombre de las clases y me estaba haciendo decir "¡Yuk!" :) –
También vea http://stackoverflow.com/questions/429470/naming-conventions-for-abstract-classes – nawfal