none
Utilizar a camada Model em uma Class Library RRS feed

  • Pergunta

  • Olá, mais uma dúvida.

    Tive acesso a uma aplicação MVC 3 na qual o desenvolvedor optou em criar toda a camada de Modelo como Class Library, portanto externa ao template padrão Microsoft.

    O que ele fez depois foi referenciar na camada de Controle a biblioteca e funcionou beleza.

    Minha dúvida: Isso é bom, indifere ou é péssimo? E porque, claro.

    Valeu.

    terça-feira, 13 de dezembro de 2011 19:29

Respostas

  • A reposta vira do que melhor se adeque ao seu problema. Vejamos algo que pode lhe ajudar a decidir.

    O uso de class library é interessante, quando você pretende reutilizar a camada do modelo, por exemplo, mais tarde em uma aplicação desktop. Eu costumo pensar que se este não é o caso nem pretensão, com toda certeza é bem mais cômodo que o modelo fique na aplicação web, não criando uma camada "física" além da lógica.


    (Se a resposta ajudou, marque como útil)
    quarta-feira, 14 de dezembro de 2011 15:06
  • O Model tem de estar completamente vinculado as views já que no MVC model não é nada mais que um DTO (Data transfer object). não tem porque querem utiliza-la em uma aplicação desktop.

    Agora, o que pode haver é que esta Dll com models sejas Domain Models ou seja, não estão vinculados a interface, esta sim são o "coração do projeto", (de uma olhada de DDD), e podem ser usados para qualquer forma de apresentação (MVC, DeskTop, WebForms etc), podem, não se deve utiliza-las direto nas views sendo isso  um Anti-pattern (já que seu MVC vai virars só "VC").

    quarta-feira, 14 de dezembro de 2011 17:53

Todas as Respostas

  • A reposta vira do que melhor se adeque ao seu problema. Vejamos algo que pode lhe ajudar a decidir.

    O uso de class library é interessante, quando você pretende reutilizar a camada do modelo, por exemplo, mais tarde em uma aplicação desktop. Eu costumo pensar que se este não é o caso nem pretensão, com toda certeza é bem mais cômodo que o modelo fique na aplicação web, não criando uma camada "física" além da lógica.


    (Se a resposta ajudou, marque como útil)
    quarta-feira, 14 de dezembro de 2011 15:06
  • O Model tem de estar completamente vinculado as views já que no MVC model não é nada mais que um DTO (Data transfer object). não tem porque querem utiliza-la em uma aplicação desktop.

    Agora, o que pode haver é que esta Dll com models sejas Domain Models ou seja, não estão vinculados a interface, esta sim são o "coração do projeto", (de uma olhada de DDD), e podem ser usados para qualquer forma de apresentação (MVC, DeskTop, WebForms etc), podem, não se deve utiliza-las direto nas views sendo isso  um Anti-pattern (já que seu MVC vai virars só "VC").

    quarta-feira, 14 de dezembro de 2011 17:53
  • Wilian como Fernando, respostas atenderam prontamente.

     

    quarta-feira, 14 de dezembro de 2011 18:36