metodos ejemplos clases c# business-logic business-objects business-logic-layer

ejemplos - clases y metodos en c#



Nombramiento de clases de lógica de negocios (3)

Según su descripción, parece que las clases de WCF están implementando un host de servicio. Normalmente nombro estas clases con un sufijo "ServiceHost". Los separa bien de las clases de servicio reales.

Entonces, por ejemplo, tendría su lógica de negocios en una clase llamada "CustomerService" y la clase WCF correspondiente se llamaría "CustomerServiceHost".

Tengo una capa de negocios que tiene algunos objetos de negocio / POCO / entidades / lo que sea. También tengo algunos repositorios para el acceso a datos. Hasta este punto, he estado accediendo a los repositorios directamente desde mi capa de UI. Estoy en un punto en el que realmente necesito algunas clases más que no son CRUD directas, por lo que voy a crear algunas clases de lógica de negocios que harán la lógica, y CRUD, y los repositorios no serán accedidos por la La interfaz de usuario ya (lo que probablemente debería haberse hecho desde el principio).

¿Cómo debo llamar a estas clases? Lo único que se me ocurre son las clases de servicio, pero tengo servicios WCF reales en esta aplicación, por lo que será confuso. Los servicios WCF también utilizarán estas clases, por lo que tener un servicio que use una clase de servicio parece extraño y confuso.


Yo uso la convención de nombres "Servicio" también. Es cierto que el "servicio" se ha convertido en un término muy sobrecargado en la industria, pero tiene más sentido. Los desarrolladores que revisan el código deberían poder determinar la diferencia entre una aplicación / servicio de dominio frente a un servicio WCF, y aunque tener una llamada de servicio WCF, otras clases de servicio pueden parecer confusas, creo que no lo es. La idea de un servicio es que es un código que realiza una función y está disponible para su uso por otro código. Puede ser un servicio interno o un servicio expuesto externamente a través de http o lo que sea. Pero la idea de lo que hace el código es la misma.


Si sus ''servicios'' están orquestando la lógica de negocios utilizando una serie de objetos de dominio, es probable que esté implementando el Patrón de Fachada , por lo que quizás pueda nombrarlos con este sufijo, por ejemplo, OrderManagementFacade