Pergunta

De acordo com a Sun e Msdn é um padrão de projeto.

De acordo com a Wikipedia é uma padrão de arquitetura

Em comparação com padrões de projeto, padrões de arquitetura são maiores em escala. (Wikipedia - Architectural padrão )

Ou é um padrão de arquitetura que também tem um padrão de design?

Qual é verdade?

Foi útil?

Solução

MVC é mais de um padrão de arquitetura, mas não para a aplicação completa. MVC refere-se principalmente para a camada de IU / interacção de uma aplicação. Você ainda vai para a camada lógica necessidade do negócio, talvez alguma camada camada de serviço e acesso a dados. Ou seja, se você estiver em abordagem n-tier.

Outras dicas

Por que um deles tem que ser verdade?

Ambos podem ser verdade, dependendo do ponto de vista.

MVC pode ser um padrão arquitetônico, se forma a base da arquitetura do aplicativo.

Ele também pode ser visto simplesmente como um padrão de design, uma noção abstrata que é aplicável a qualquer aplicação.

Padrões de projeto dizer como escrever código de forma eficaz (considerando Code Metrics ).

Alguns benefícios:

  1. fácil manutenção
  2. High Re-usabilidade
  3. legível por causa de abstrações

padrões de arquitetura dizer como utilizar os recursos de forma eficaz.

  1. execução das tarefas paralelas como programadores e designers gráficos podem trabalhar em paralelo.
  2. Várias tecnologias podem ser utilizadas para construir um software.

No MVC, a). Views podem ser criadas usando modelos de javascript e também html pode ser usado .NET framework b). Controladores podem ser escritos e c) Os modelos podem ser escritos em Java -.. Um serviço de java pode ser usado que retorna somente dados JSON

Enquanto no padrão de design, um padrão não pode ser implementada em que código pode ser escrito em várias tecnologias como classe AdminUser em Java, classe de clientes em C #, classe Partners em PHP e um padrão de fábrica em Ruby :); hmmm..so fácil:?)

Eu sei que tem sido respondido há algum tempo atrás, mas ninguém ainda mencionou o livro que fez MVC famoso: Software Architecture (POSA)-Oriented Padrão, por Buschmann, et al publicado em 1996. Embora não seja tão amplamente lido como o design Patterns livro, por Gamma et al, POSA é um dos livros fundamentais utilizados pela comunidade padrões.

Oh, e POSA identifica muito claramente MVC como um padrão de arquitetura. Meu palpite é que MS e Sun estão apenas a ser desleixado e chamando cada padrão de um "padrão de design".

Eu acho que ambos são verdadeiros. Se você está olhando para um determinado instanciação de MVC em um quadro como Ruby on Rails, que instanciação é mais de um padrão de design. Se você olhar para MVC como um conceito geral , é mais de um padrão de arquitetura.

MVC sempre mencionado e apresentado como / na camada de apresentação em livros de arquitetura de software.

ler esses livros:

  1. Arquitetando Microsoft.NET Soluções para corporações (Microsoft imprensa)

  2. padrões de design Professional ASP.NET (Wrox)

  3. enterpise Soluções padrões usando Microsoft.NET (Microsoft Press )

  4. Padrões de Enterprise Application Architecture (Addison Wesley)

  5. Um Guia Prático para Enterprise Architecture (Prentice Hall)

Se você colocar arquitetos de software dez em uma sala e tê-los discutir o que o padrão MVC é, você vai acabar com doze opiniões diferentes. ... Alguns dos puristas lá fora, vai inevitavelmente ter escrúpulo com o que me refiro como “MVC”. Sinta-se livre para deixar um comentário flamejante no quadro de mensagens na parte inferior da página Web. Terei prazer em entreter diferentes perspectivas sobre o que significa MVC, mas tenha em mente que eu não me importo.

Josh Smith

Os padrões de projeto dentro da tríade Model / View / Controller (MVC) de classes incluem e não podem ser limitados a:

  • Observer , objetos de desacoplamento de modo que as mudanças em um (o modelo) pode afetar qualquer número de outros (as visitas) sem exigir que o objeto alterado (o modelo) para conhecer detalhes da outros (os pontos de vista).

  • Composite , o que nos permite tratar um objeto do grupo (a visão composta), assim como nós tratamos um de seus objetos individuais (componentes vista).

  • Estratégia , onde uma vista usa uma instância de um controlador de subclasse para implementar uma estratégia de resposta particular; para implementar uma estratégia diferente, basta substituir a instância com um tipo diferente de controlador.

  • Factory Method , especificando a classe do controlador padrão para uma vista.

  • Decorator , acrescentando rolagem para uma vista.


Referência

  • Páginas 4 a 6 (Seção 1.2 Design Patterns em Smalltalk MVC)
  • Páginas 293-304 (Observer padrão de projeto)
  • Páginas 163-174 (Composite padrão de projeto)
  • Páginas 315 a 324 (Estratégia padrão de projeto)
  • Páginas 107-116 (Método fábrica padrão de design)
  • Páginas 175-185 (Decorator padrão de projeto)

Eric Gamma, Richard Helm, Ralph Johnson e John Vlissides. Design Patterns: Elements of Software Reutilizável Orientado a Objetos . Addison-Wesley, Reading, MA, 1994.

E de acordo com Martin Fowler são arquiteturas GUI: Martin Fowler-GUI arquiteturas

Depende do tamanho da aplicação, uma vez que só afeta classes relacionadas GUI, em um pequeno (principalmente GUI) que poderia ser considerado um padrão de arquitetura enquanto em um enorme que seria apenas um padrão de design que você aplicar para o código GUI (poderia ser de 10% do código de aplicações).

MVC é a arquitetura padrão. Muito claramente e mostrado em http://molecularsciences.org/zend/mvc_model_view_controller

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top