MVC, Modelo de Arquitetura ou Design Pattern?

Olá Senhores,

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.

Abraços
\o/

Segundo o brother do cv, é um pattern.

Mas eu corcordo, pra mim essa discussão que vocês entraram não tem a menor lógica… :stuck_out_tongue:

Architecture Pattern

Um Abraco.

Arquitetura de disposição das camadas da sua aplicação.

acredito que seja os dois!

na verdade é um padrão arquitetural para a organização de suas camadas!

Querendo ou não o MVC é um padrão que trabalha na organização de do seu projeto em alto nivel digamos assim.

: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.

:idea: Alguem já leu esse livro :wink:

EMHO,

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” … :smiley: é um design pattern!

MVC e camadas são coisas bem diferentes.

Camadas dizem como agrupar os componentes.
MVC diz como interagem os componentes.

Extraído: http://www.fragmental.com.br/wiki/index.php?title=MVC_e_Camadas

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.

[quote=fabiocsi]MVC e camadas são coisas bem diferentes.

Camadas dizem como agrupar os componentes.
MVC diz como interagem os componentes.

Extraído: http://www.fragmental.com.br/wiki/index.php?title=MVC_e_Camadas
[/quote]

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)

:wink:

O problema é que o pessoal acaba ligando o conceito de Design Patterns aos padrões definidos pelo GoF…

[quote=dreamspeaker]

Mas eu concordo, pra mim essa discussão que vocês entraram não tem a menor lógica… :stuck_out_tongue: [/quote]

eu tb concordo com o que ele concordou… rs rs rs

e pra min MVC é um modelo de arquitetura…


FLwS

[quote=dreamspeaker]

Mas eu concordo, pra mim essa discussão que vocês entraram não tem a menor lógica… :stuck_out_tongue: [/quote]

há diferenças

[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)

:wink:[/quote]

podemos chamar então de um conventional design pattern… mas de arquitetura ñ… arquitetura envolve outras coisas INCLUSIVE design patterns…

in-off:
te mandei uma MP… veja aew…

Architectural Pattern

[quote=peerless]
podemos chamar então de um conventional design pattern… mas de arquitetura ñ… arquitetura envolve outras coisas INCLUSIVE design patterns…

in-off:
te mandei uma MP… veja aew… [/quote]

dê uma olhada no link do “zinho” ai em cima.

e depois leia aqui: MVC

Não falei que é uma “Arquitetura”. É um padrão arquitetural…

LOGO, podemos concluir que, estamos falando sobre a MESMA coisa de maneiras DIFERENTES.

http://c2.com/cgi/wiki?ModelViewControllerAsAnAggregateDesignPattern

[quote=peerless]LOGO, podemos concluir que, estamos falando sobre a MESMA coisa de maneiras DIFERENTES.

http://c2.com/cgi/wiki?ModelViewControllerAsAnAggregateDesignPattern[/quote]

concordo! 8)

[quote=rpffoz]Olá Senhores,

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.