La determinación de la mejor manera de romper el código en diferentes carpetas y espacios de nombres

StackOverflow https://stackoverflow.com/questions/384562

  •  23-08-2019
  •  | 
  •  

Pregunta

tengo los siguientes directorios:

-ui
-BusinessLogic
-DataAccess
-BusinessObjects

Si tengo una clase que es un trozo de cliente a un servicio de servidor que cambia de estado en un sistema servidor, donde habría que ir. .

¿Fue útil?

Solución

este código pertenece en la papelera de reciclaje; -)

En serio, si usted lo escribió y no sabe a dónde va, entonces o bien el código es cuestionable o su partición es cuestionable; ¿Cómo se supone que debemos tener más información sobre el sistema de lo que tiene?

Ahora bien, si lo que desea es algunas opiniones no informados, los que tenemos por el petabyte:

  1. que va en la interfaz de usuario, ya que ha dicho que es un stub del cliente
  2. que va en la lógica de negocio ya que implementa el efecto de una regla de negocio
  3. que va en la capa de acceso de datos, ya que está accediendo a un servicio de cambio de estado
  4. que va en la capa de objeto de negocio porque da lugar a un cambio de estado en el servidor

sería más útil si usted nos dijo lo que realmente hace el talón; sin detalles, es difícil saber a donde pertenece, y / o que es fácil argumentar en un vacío acerca de dónde "debe" pertenecer

Otros consejos

Me parece que es una forma de acceso a datos, aunque no está claro que se necesita para ponerlo en el mismo proyecto que el resto de sus clases de acceso de datos. Recuerde que las capas son principalmente conceptual - para ayudar a mantener el diseño limpio. Separándolos en diferentes proyectos de ayuda a la organización, pero no es obligatorio. Si se trata de una clase stub real, entonces el proyecto de acceso a datos es probablemente el hogar natural para ello, pero si sólo se usa en la capa de interfaz de usuario, a continuación, se mantenga así probablemente sería bueno.

No creo que pertenece en cualquiera de ellos. O se necesita un nuevo directorio o un nuevo proyecto en su totalidad. Pero fuera de las dadas, yo tendría que decir BusinessObjects porque no es ciertamente Acceso de datos de acuerdo a su descripción, y que más bien está actuando simplemente como un objeto local (talón).

En un repositorio de servicios web.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top