Onde posso encontrar uma explicação mortos-simples de MVC?

votos
18

Na minha empresa estamos prestes a construir um novo site usando ASP.NET MVC. Meu chefe (marketing cara) gostaria de saber um pouco mais sobre a tecnologia, então eu tentei encontrar um realmente bom, simples e pedagógica apresentação do conceito MVC sem qualquer sorte. A maioria deles requer bastante conhecimento básico em programação.

Todas as sugestões para um bom vídeo, slides ou outro?

Publicado 19/05/2009 em 15:07
fonte usuário
Em outras línguas...                            


12 respostas

votos
19

Craig Strong tem um muito bom artigo sobre MVC em geral, e como explicar os seus benefícios para o negócio. Confira aqui: link atualizado .

Definir MVC em termos leigos

Lembre-se que você está tecnicamente espírito e perto do código. MVC para você é claro como o dia, mas dizendo ao negócio 'Model, View, Contoller' poderia dar-lhes a impressão de que você está sofrendo de alguma síndrome de Tourette forma. MVC não vai significar muito para o negócio, mesmo depois de defini-los em relação ao código. Para começar o negócio para entender por que esta é a resposta e muito menos o que é, pode ter mais de uma tarefa do que o esperado na minha experiência. Mesmo alguns colegas desenvolvedores têm dificuldade em compreender esta na ocasião.

Para obter o ouvinte a entender o que MVC é e por que funciona o que eu tentei no passe é aplicar MVC para um diferentes indústrias onde os ouvintes tiveram maior envolvimento. Um exemplo que tem trabalhado para mim no passado, em uma comparação com a propriedade ou mesmo os veículos. A maioria das pessoas já tinha lidar Com construtores, carpinteiros, canalizadores, electricistas ou já foram assistidos a inundação da propriedade mostra na TV. Esta experiência é uma boa plataforma para usar e para explicar por que a separação tais como MVC funciona. Eu sei que você provavelmente está pensando que não vai funcionar, pois não é o mesmo que em software, mas lembre-se que você não está tentando treinar o negócio para se tornar desenvolvedores ou ter uma compreensão detalhada da MVC, simplesmente explicando-lhes que a separação na produção é necessária e é isso que uma estrutura MVC oferece.

Para dar um exemplo de como você poderia descrever este expliquei muito brevemente como separação trabalha na propriedade. Tenha em mente que esta é focado em utilizar o sistema não desenvolver o que poderia ser um ângulo completamente diferente de explicação.

Visão

A vista no MVC é a camada de apresentação. Isto é o que o usuário final de um produto vai ver e interagir com. Um sistema pode ter vários pontos de vista de todos os tipos diferentes que variam de saída de linha de comando para HTML processado. A vista não consiste em lógica de negócios na maioria dos projetos claros. A interface é apto para o efeito e é a área de interação. Portanto, você poderia HTML simplesmente saída para os consumidores a interagir com SOAP ou saída / XML para as empresas a interagir. Ambos usam a mesma lógica de negócios por trás do sistema conhecido como os modelos e controladores.

No mundo da propriedade que você poderia pensar a vista como o interior de uma propriedade ou a camada exterior de uma propriedade que os habitantes interagir. O interior pode ser personalizado para a finalidade e a mesma propriedade pode ter muitos tipos diferentes de inquilinos. Por exemplo, uma propriedade de um projeto particular poderia conter habitações residenciais. O mesmo espaço interno poderia facilmente ser usado como espaço de escritório, onde, embora na mesma propriedade tem uma finalidade diferente. No entanto, a estrutura de propriedade é o mesmo. Portanto, o ambiente no qual os usuários interagem não interfere com a estrutura do edifício.

controladores

O controlador é onde a mágica acontece e define a lógica do aplicativo de negócios. Isto poderia ser que o utilizador tenha enviado uma resposta a partir da vista, em seguida, esta resposta é utilizada para processar os funcionamentos internos do pedido e processa a resposta de volta para o utilizador. Tomando uma resposta típica onde um usuário pediu para comprar um livro. O controlador tem o ID do usuário, detalhes de pagamento, endereço de entrega e escolha item. Estes elementos são então processadas através da lógica de negócios para completar uma compra. Os dados são passados através do sistema para a camada de modelo e, eventualmente, após o pedido na totalidade satisfaz as definições de negócios, a ordem é construído e o usuário recebe o seu item.

Se compararmos este a uma propriedade, poderíamos comparar a ordenação de um livro on-line para ligar um interruptor de luz. Um inquilino vai ligar a chave para em apenas como encomendar um livro. O interruptor em si é um elemento na camada de visão que envia o pedido para o controlador como clicar em um botão de pagamento em um web site. A lógica do negócio, neste caso, é o que o eletricista instalado e estão embutidos dentro dos projetos imobiliários. O interruptor é acionado, o que completa o circuito. Eletricidade percorre todos os fios, incluindo a caixa de fusíveis direto para a lâmpada. Assim como o usuário receber um livro, neste caso, o inquilino recebe luz. Todo o processo por trás das cenas envolvendo o cabeamento de energia elétrica não é visível para o inquilino.

modelos

Os modelos em MVC são parte inferior mais camada e lidar com a lógica do núcleo do sistema. Na maioria dos casos isto pode ser visto como a camada que interage com a fonte de dados. Em sistemas usando MVC, o controlador irá passar informações para o modelo, a fim de armazenar e recuperar dados. Na sequência do exemplo acima definição de controlador, este é o lugar onde os detalhes da ordem são armazenadas. Dados adicionais, tais como os níveis de estoque, localização física do produto do livro entre muitas coisas são armazenados aqui. Se esse foi o último livro em estoque ordenado, a próxima solicitação para este item pode verificar se está disponível e não permitir a ordem que o item não está mais disponível.

Cumprindo com o exemplo de ligar um interruptor de luz, este nível em nossa estrutura poderia ser o fornecimento de electricidade. Quando os filmes inquilino do interruptor, o circuito interno deve solicitar electricidade para fornecer energia ao pedido, que é semelhante, quando o utilizador solicitou dados a partir da base de dados, como em dados são necessárias para processar um pedido. Se a habitação não está ligado a uma fonte elétrica, não pode concluir o processo. Benefícios para a empresa de usar MVC

Depois de passar a mensagem explicando o que MVC é, então você vai ter que ver quais os benefícios que podem ser obtidos a partir dele. Eu não vou entrar em uma enorme quantidade de detalhes estão aqui eu tenho certeza que você pode aplicar benefícios com mais precisão que estão diretamente relacionados a você situação real. A lista apenas alguns dos benefícios comuns de um sistema baseado MVC aqui estão alguns exemplos:

  • diferentes níveis de habilidade podem trabalhar em diferentes níveis do sistema. Por exemplo designers podem trabalhar na interface (View) com muito pouco conhecimento desenvolvimento e desenvolvedores podem trabalhar na lógica de negócio (Controller) com muito pouca preocupação com o nível de design. Em seguida, eles simplesmente integrar juntos na conclusão.
  • Como resultado dos projetos de separação acima podem ser gerenciados mais fácil e rápido. O designer pode começar as interfaces antes de o desenvolvedor e vice-versa. Este processo de desenvolvimento pode ser paralelo ao contrário de ser sequencial, por conseguinte, reduzir o tempo de desenvolvimento.
  • Fácil de ter vários tipos de vista usando a mesma lógica de negócios.
  • Limpar percurso através do sistema. Você sabe claramente onde existem diferentes níveis do sistema são. Com uma rota clara do sistema, a lógica pode ser compartilhado e melhorado. Isto tem benefícios adicionais de segurança como você sabe claramente o caminho permitida a partir dos dados para o usuário e pode ter verificações de segurança claras ao longo da rota.
  • Cada camada é responsável por si. (Refere-se ao ponto 1) Isso significa que você pode ter estrutura arquivo limpo que pode ser mantidos e gerenciados muito mais fácil e mais rápido do que um sistema firmemente casal onde você pode ter muita lógica duplicado.
  • Ter uma estrutura clara significa desenvolvimento será mais transparente que deve resultar em tempo de desenvolvimento reduzida, problemas de manutenção e ciclos de lançamento, se aplicada corretamente.
Respondeu 19/05/2009 em 15:13
fonte usuário

votos
6

MVC Pense nisso como: "Detalhes do pedido (incluindo Cliente e informações de funcionários)", "HTML / ASP Form (para exibir os OrderDetails)" e "Detalhes do pedido de classe de serviço (tendo métodos para SaveOrderDetails , GetOrderDetails etc.).

O modelo (por exemplo, dados de classe DetalhesDaEncomenda)

  1. Os dados que você deseja exibir

O controlador (Classe de serviço)

  1. Sabe sobre o modelo (Detalhes do pedido)
  2. Tem métodos para gerenciar o Modelo
  3. E, como tal unidade pode ser testada a sua responsabilidade única é gerenciar as operações OrderDetails CRUD.
  4. Ele não sabe nada sobre a Vista

A exibição (página ASP)

  1. Exibe o modelo (de OrderDetail ViewData).
  2. Ele tem de saber sobre a do Modelo estrutura para que ele possa exibir corretamente os dados para os usuários na tela.
  3. O de exibição estrutura (estilo, layout, HTML etc., locale) podem ser alterados a qualquer momento sem que mudar nada na funcionalidade da aplicação.
  4. E, como tal, muitas Visualizações pode exibir o mesmo modelo em muitas maneiras diferentes.
  5. Em multi-tenant aplicações web, cliente específico Visualizações podem ser armazenados em uma tabela de banco de dados e exibidos com base em informações do cliente
Respondeu 19/05/2009 em 15:31
fonte usuário

votos
4

Você tem que explicar os benefícios da ASP.NET MVC, e não os recursos

  1. Você tem controle sobre suas URLs - o que significa SEO para o site será melhor - isso significa que seu site será maior no google

  2. O código é mais limpo, o que significa que é mais fácil de mudar, o que significa que você pode adicionar recursos mais rápido

etc.

Como você economizar dinheiro, fazer dinheiro, reduzir o risco? Isso é o que seu chefe quer saber.

Respondeu 19/05/2009 em 15:15
fonte usuário

votos
2

O modelo é a camada de acesso a dados, que pode ser apenas um wrapper para algumas consultas simples para um ORM que gerencia o próprio relacionamentos de entidade de dados. Ele lida com a comunicação com a fonte de dados, recupera dados e geralmente organiza-lo em objetos definidos na sua aplicação.

As vistas são apenas arquivos html com pedaços de HTML e CSS com algum mecanismo de modelagem (sabe tudo, mako, etc) de código para mostrar os dados passados para ele da maneira que quiser.

O controlador coloca-lo todos juntos. Solicitações feitas à sua página será encaminhado a um controlador (classe) e uma ação (método) dentro do controlador. Assim como qualquer outro aplicativo, a ação vai fazer o que é requerido dele, mas ainda é parte do controlador.

Assim, o controlador usa o modelo para consultar dados (usuários, conteúdo, etc), em seguida, passa os dados para o objectivo de ser processado e exibido da maneira que quiser.

Respondeu 19/05/2009 em 15:39
fonte usuário

votos
2

Imagine uma sala de controle em uma fábrica, o modelo é a própria máquina, o equipamento de monitorização é a vista e o painel de instrumentos é o controlador. Você pode ter várias salas de controle diferentes para a mesma máquina e mudanças nos controles em uma sala de controle iria reflectir sobre os monitores em todas as salas de controle.

O ponto é que você só deve modelar uma vez e, em seguida, exibir ou controle, porém, é mais conveniente.

Respondeu 19/05/2009 em 15:18
fonte usuário

votos
1

A cara de marketing seria apenas interessado na parte "V", o View. Dependendo de como você projeta coisas, a vista seria apenas HTML / CSS "modelos" básicos que a pessoa marketing poderia modificar. Tecnicamente sem quebrar nada.

Idealmente, o modelo (banco de dados) e Controller (lógica) não deve se preocupar se o Vista (apresentação) é XML, HTML, texto, etc. A pessoa de marketing não deve importa o que o Modelo e Controlador fazer, exceto para solicitar uma funcionalidade adicional.

Indo mais longe com o "ideal", você deve ser tecnicamente capaz de substituir ASP com PHP, Java, Ruby, etc como o Controlador sem tocar no Modelo ou View.

Respondeu 19/05/2009 em 15:27
fonte usuário

votos
1

Eu não iria tentar explicar a tecnologia a ele, eu tentar explicar o que o princípio de arquitetura MVC é tudo.

MVC foi projetado para separar preocupações. Claro e simples. Explique-lhe que quando você construir qualquer coisa que o que você está construindo podem ser classificadas em duas categorias diferentes: o que a necessidade do negócio é (do domínio), e tudo o mais.

MVC separa o domínio do tudo mais através da introdução de camadas para separar as preocupações. M é para o modelo, que é seu domínio. V é para View, que é a parte visível para ele, o que ele vê. C é para o controlador, a parte que controla o que está acontecendo entre o domínio ea vista.

Respondeu 19/05/2009 em 15:14
fonte usuário

votos
0

A coisa mais importante para o seu cara de marketing é o dinheiro, orçamento, TCO ...

Quando você não usar MVC você costuma misturar design, lógica de aplicação etc. alltogether.

Programador, em seguida, deve saber de design html, programação etc ... Isso poderia significar que você precisa profissional poderoso para fazer tudo.

se você usar MVC, tudo é dividido em "partes separadas". Html codificador pode preparar camada html, programador só funciona com a lógica da aplicação etc ...

MVC traz melhor granularidade e todo mundo pode se concentrar no que ele ou ela pode fazer o melhor!

Ouça, por exemplo validade xhtml e limpeza css é tão difícil que há um monte de pessoas que incide apenas sobre este lote, enquanto de navegadores e plataformas de compatibilidade em mente.

Normalmente, uma pessoa não é o melhor programador asp.net, xhtml codificador em um ;-)

Respondeu 19/05/2009 em 15:22
fonte usuário

votos
0

Para um cara de marketing, talvez a melhor maneira de explicar a razão para ASP.Net MVC é a capacidade de ampliar o alcance do seu produto.

Usando MVC, o código já está separada de uma forma que vai deixar você mais facilmente criar uma interface que sente natural em uma área de trabalho e, em seguida, a interface diferente, que atende a um usuário geral dispositivo móvel, e uma interface ainda ligeiramente diferente que atende a um usuário do iPhone, sem arriscar o código backend ficar fora de sincronia e introduzindo erros sutis e empresa-prejudicando. E, se há um aplicativo de desktop cliente inteligente que poderia ser um produto ... é, também, pode descansar sobre a mesma base de código.

O modelo é "como as coisas funcionam dentro da caixa". O Controlador é "o que você pode tocar no lado de fora da caixa" e a vista é "o que sai da caixa" ...

Respondeu 19/05/2009 em 15:19
fonte usuário

votos
0

Esta é uma pergunta muito simples

http://en.wikipedia.org/wiki/Model-view-controller#Pattern_description

A melhor maneira que eu puder coisa é que o modelo é a representação de dados, a vista é a apresentação para o usuário e o controlador é o que recolhe interação com o usuário que muda o modelo.

Respondeu 19/05/2009 em 15:14
fonte usuário

votos
0

Você pode facilmente fazer isso, ou seja, se você entender marcação falar. Eu não, mas eu imagino que seria algo assim ...

Este deve ser o uso. MVC (se bem feito) lhe permitirá separar a interface do usuário a partir dos dados (modelo) e controle da UI (controler). Isso permitirá que a interface do usuário para ser mais flexível que por sua vez permitem melhor ele mercado de auto mais rápido.

Respondeu 19/05/2009 em 15:14
fonte usuário

votos
-1

A palavra importante no título do gestor neste caso é "marketing". Ele é um gestor de Marketing. As preocupações que se tem como gerente de marketing tem a ver com estratégia e táticas. Estes dois não são a mesma coisa. Estratégia é a palavra imagem grande que abraça entre outras coisas, como uma empresa conceitualmente aborda as necessidades dos clientes e como a empresa se diferencia de seus concorrentes. A estratégia não é tipicamente o software pode retratar a um usuário. Tactics, por outro lado, são os métodos diretos ou abordagens que uma empresa leva em ganhar o negócio do cliente. Táticas tendem a mudar muito mais freqüência do que as estratégias, e é provável que o gerente de marketing, quando ele pede que vantagem MVC pode dar-lhe, é realmente perguntando: "Como rapidamente você pode mudar o que é que você cria em algo que está de acordo com novas realidades na forma como temos de lidar com os clientes." Em outras palavras, o quão rápido você pode mudar uma oferta de "comprar 1 e ganhe 1 grátis" para "comprar 2 na sexta-feira e obter 1 na terça-feira seguinte se estiver chovendo em Albany."

gestão de marketing é sobre resultados medidos em dólares e centavos, não elegância e explicações nuances que estão repletas de palavras conceituais que faltam qualquer especificidade real. Tudo o que um programador pode dizer pode fazer sentido para si mesmo, mas um gerente de marketing precisa conhecer a real probabilidade de resposta rápida a mudar as percepções dos clientes ou a rápida implementação de uma abordagem diferente para vender para os mesmos clientes. Ele precisa saber se ele vai custar mais do que um método existente, porque se ele vende $ 1 milhão a mais no produto, enquanto gastando US $ 1,25 milhões em desenvolvimento de software, ele provavelmente vai perder o emprego.

Então, em suma, ele está à procura de flexibilidade e custo-efetividade. Ele precisa de um software que ser adaptado às condições de mudança rápida, assim como ele muda seu campo primeiro para um lado e depois outro para um cliente em potencial difícil de convencer, e ele precisa saber que ele não terá de ser responsável por uma enorme etiqueta de preço para essa flexibilidade.

Francamente, eu não acho que você seria capaz de cumprir tais promessas se eles foram feitos porque, apesar de todas as vantagens do MVC do ponto de vista do desenvolvimento, ainda estamos falando de software aqui, e como todos sabemos , o software é um capataz rígida, exigindo que leva seu doce tempo para amadurecer a ponto de confiabilidade e de se livrar de seus bugs. Nós como programadores estão sempre em busca do santo graal da reutilização de software, e enquanto nós mangual sobre tentar uma coisa e depois outra (MVC, MVP, MVVM, e tudo aquilo que alguém pode conceber), o resto do mundo está simplesmente pedindo algo que funciona. Portanto, a melhor sorte para você. Espero que você é capaz de ganhar o seu caso.

Respondeu 05/06/2015 em 07:51
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more