none
(Capa de negocios) separar métodos para dos webs. RRS feed

  • Pregunta

  • Hola buenas

    Estoy trabajando en un proyecto ASP.NET 4.0 C# Webforms con N-TIER (UI-BLL-DAL-Entities)

    Tengo 2 proyectos que usan la misma capa de negocio (web admin y web pública), pero me gustaría separar un poco la lógica sin tener que sobreescribir ciertos métodos y que la parte admin tenga unos métodos especificos para la parte admin que no debería tener la parte publica y viceversa.

    Había pensado en crear BLLPublica y BLLPrivada, pero claro aquí tendría que tendría código repetido, otra cosa que había pensado sería crear una nueva capa entre la UI - BLL, .... ¿Cómo podría separar la lógica para los dos proyectos?

    Web de Leandro con la estructura que tiene mi proyecto :
    Blog Leandro Tuttini N-TIER

    Gracias y un saludo.

    miércoles, 31 de agosto de 2016 11:33

Respuestas

  • Pues si quieres separar yo creo que lo suyo es que tengas una BL común y luego las BL especificas

       UI     UI Priv
       |        |
    ----------------------------
    BLPub - BLPriv
          |               -> DAL
       BL_Common
    ----------------------------
        
    De esta manera seguro que no duplicas código.



    • Editado David Porqueras miércoles, 31 de agosto de 2016 11:42
    • Marcado como respuesta dudasc miércoles, 31 de agosto de 2016 13:06
    miércoles, 31 de agosto de 2016 11:40
  • hola

    >>lo que me aconsejas es separar en 3 proyectos BLL (BLLPublica, BLLPrivada, BLLComun)

    si quieres repartir la funcionalidad para los dis sitio entonces si

    BLLPrivata y BLLPublica referencian a BLLComun

    el sitio web public usar la dll BLLPublica

    el sitio web privado usara la dll BLLPrivada

    >>que BLLComun tenga referenciadas la Publica y la Privada

    no al contrario Publica y privada tienen cada uan referencia a comun

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta dudasc miércoles, 31 de agosto de 2016 13:06
    miércoles, 31 de agosto de 2016 13:04

Todas las respuestas

  • Pues si quieres separar yo creo que lo suyo es que tengas una BL común y luego las BL especificas

       UI     UI Priv
       |        |
    ----------------------------
    BLPub - BLPriv
          |               -> DAL
       BL_Common
    ----------------------------
        
    De esta manera seguro que no duplicas código.



    • Editado David Porqueras miércoles, 31 de agosto de 2016 11:42
    • Marcado como respuesta dudasc miércoles, 31 de agosto de 2016 13:06
    miércoles, 31 de agosto de 2016 11:40
  • hola

    podrias generas dos proyectos del tipo Class Library que representen la funcionalidad de negocio

    >>Había pensado en crear BLLPublica y BLLPrivada, pero claro aquí tendría que tendría código repetido

    porque? una libreria puede referenciar a la otra y resusar funcionalidad

    aunque lo que aconsejaria es que definas una libreria denominandola "Common" y alli definas funcionalidad compartida que las otras dos puedan usar mediante referencia

    o sea BLL.Common seria referenciada por  BLL.Publica y BLL.Privada asi generas funcionaldia comun reusada en las otras dos librerias

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 31 de agosto de 2016 12:29
  • Actualmente tengo un proyecto BLL (incluye todos lo métodos), lo que me aconsejas es separar en 3 proyectos BLL (BLLPublica, BLLPrivada, BLLComun) y que BLLComun tenga referenciadas la Publica y la Privada para reusar sus métodos.

    UI -> ((BLLComun -> (BLLPrivada, BLLPublica))) -> DAL

    ¿Es eso lo que comentas?

    miércoles, 31 de agosto de 2016 12:40
  • hola

    >>lo que me aconsejas es separar en 3 proyectos BLL (BLLPublica, BLLPrivada, BLLComun)

    si quieres repartir la funcionalidad para los dis sitio entonces si

    BLLPrivata y BLLPublica referencian a BLLComun

    el sitio web public usar la dll BLLPublica

    el sitio web privado usara la dll BLLPrivada

    >>que BLLComun tenga referenciadas la Publica y la Privada

    no al contrario Publica y privada tienen cada uan referencia a comun

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta dudasc miércoles, 31 de agosto de 2016 13:06
    miércoles, 31 de agosto de 2016 13:04