Pode parecer um pouco lógico e claro assunto, porém aqui na empresa e entre amigos gerou muita discussão sobre o assunto,
Alguns falam que é um Desing Pattern, outros dizem que é apenas um modelo de arquitetura que pode ser seguido.
Gostaria de saber a opinião de vocês, e se possível com referências.
:XD: Padrões de Projetos (Criação, Comportamento, Estrutura) Orientado a Arquitetura, Visão FrameWork implementação de separação de responsabilidade n-tier ou outro Aspecto orientado ao Business Core do Cliente.
acredito ser um pattern também, uma vez que ele defende não uma forma arquitetural da aplicação e sim, como e somente COMO a comunicação entre camadas deve ser feita para estar dentro de boas práticas, visando todas as N *.dades. Opa… “deve ser feita” … é um design pattern!
Modelos de arquitetura são patterns, já que são soluções documentadas para problemas recorrentes. Você pode criar uma distinção entre estes patterns de alto nível e design patterns como Decorator e Facade, mas para mim essa distinção é artificial.
Podemos considerar também, que uma arquitetura na verdade é um conjunto de padrões de projetos, documentação, organização, engenharia e padronizaçães, dentre vários outros fatores…
Vamos analisar primeiramente oq é Design Pattern ?
“São padrões de projetos, que definem uma solução referente há algum problema que constantemente ocorre em sistemas OO”
MVC surgiu com esse intuito…
Este padrão especifíca a parte arquitetural de seu sistema, diferente de padrões mais conhecidos (singleton, façade, factory…)
Mas não deixa de ser um Padrão de Projetos (Design Pattern)
[quote=Quinger]Vamos analisar primeiramente oq é Design Pattern ?
“São padrões de projetos, que definem uma solução referente há algum problema que constantemente ocorre em sistemas OO”
MVC surgiu com esse intuito…
Este padrão especifíca a parte arquitetural de seu sistema, diferente de padrões mais conhecidos (singleton, façade, factory…)
Mas não deixa de ser um Padrão de Projetos (Design Pattern)
[/quote]
podemos chamar então de um conventional design pattern… mas de arquitetura ñ… arquitetura envolve outras coisas INCLUSIVE design patterns…
[quote=peerless]
podemos chamar então de um conventional design pattern… mas de arquitetura ñ… arquitetura envolve outras coisas INCLUSIVE design patterns…
Pode parecer um pouco lógico e claro assunto, porém aqui na empresa e entre amigos gerou muita discussão sobre o assunto,
Alguns falam que é um Desing Pattern, outros dizem que é apenas um modelo de arquitetura que pode ser seguido.
[/quote]
Existem diversas nomenclaturas. Design Pattern, Application Pattern , Arquitecture Pattern… mas todas significam coisas diferentes. Design Pattern é relacionado ao desenho da apliação. Eles focam mais na interação entre classes e como resolver problemas de comunicação entre classes. Arquitecture Pattern focam na interação entre aplicações e no esqueleto da aplicação. Que tecnologia usam e como as várias tecnologias podem ser encaixadas.
Application Patterns são padrões que visam resolver problemas das aplicações, como por exemplo, representar dinheiro de forma type safe ( padrão Money) .
MVC é um design pattern aplicado a uma só camada, normalmente a de visualização. Ele envolve outros design patterns como o observer ( na realidade o MVC pode ser entendido apenas como uma extensão do Observer, mas a sua fama fez dele um padrão à parte)
MVC não é um padrão de arquitetura . Não é uma forma de separar a aplicação em camadas. Isso são confusões mal entendidos do padrão. Se fossemos aplicar o padrão a camadas , a camada de modelo deveria lançar eventos para a camada view quando fosse alterada : ou seja, o banco deveria lançar eventos para a tela.