O artigo trata do uso do padrão MVC, através do framework ASP.NET MVC que é uma implementação da Microsoft para aplicações WEB baseadas em ASP.NET. A ideia principal deste padrão é realizar uma separação de responsabilidades.
Em que situação o tema é útil:
O tema é útil para quem deseja criar aplicações separando as responsabilidades do projeto – independente da plataforma – separando o acesso de dados e regras de negócio, apresentação e integração entre estas camadas. Com o framework .NET e o Visual Studio 2010, tornou-se muito fácil adotar o MVC para a criação de aplicações Web.
MVC - Model View Controller:
A conclusão da série de artigos sobre os design patterns mais comuns e mais usados para o framework .NET, é feita sobre o mais antigo padrão e que deu origem aos demais. Inicialmente criado para promover separação das responsabilidades, com as novas necessidades dentro do processo de desenvolvimento de software, o MVC se adaptou muito rapidamente com o cenário do desenvolvimento atual.
Atualmente o mais comum para aplicações Web dentro do framework .NET, não era originalmente uma exclusividade deste tipo de projetos, mas, graças as suas características se adequa perfeitamente neste tipo e oferece recursos muito interessantes.
O ASP.NET MVC pode ser considerado um avanço da plataforma .NET para o desenvolvimento Web. Com o surgimento dos Web Forms, alguns desenvolvedores mais focados em Web não se sentiram muito confortáveis. Este modelo de aplicação tirava as mãos do HTML e também o controle sobre o que ocorre com a página. Atenta à comunidade de desenvolvedores Web, a Microsoft conseguiu evoluir sua plataforma Web criando um template muito popular para aplicar este design pattern em seus projetos.
O que garante a qualidade de um produto de software e faz com que este seja bem sucedido durante o seu ciclo de vida? Esta é uma velha questão para os desenvolvedores de software e que já rendeu muitos livros e material. Mas, tanta conversa acaba recaindo sobre um ponto em comum que começa a ganhar importância e (mais) atenção dos programadores – o processo de desenvolvimento.
Dentro deste processo o que você vai fazer é importante, por exemplo, quais as partes de um software serão arquitetadas, quais etapas serão cumpridas e de que maneira as diversas partes serão interconectadas.
Os padrões MVC, MVP e MVVM podem ser usados diretamente na plataforma .NET e, quando se está trabalhando com o Visual Studio, alguns templates ficam disponíveis para estas arquiteturas. Os mesmos criam toda uma estrutura pré-formatada, cabendo ao desenvolvedor apenas sua adaptação de acordo com suas necessidades.
O ponto mais importante é determinar qual o design pattern mais adequado às suas necessidades e quais seus benefícios, seus problemas e o impacto que isto traz para o desenvolvimento do produto de software e o programador. Logo de início, ficou claro para os que acompanharam esta série de artigos, que estes adicionam trabalho extra durante o processo de desenvolvimento. Certamente é exigido que os conhecimentos dos fundamentos das linguagens e do framework .NET sejam bem consolidados.
Dos três patterns, dois usam intensivamente a herança e interfaces. São os patterns Model-View-Presenter (MVP) e Model View-View Model (MVVM).
Em comum todos possuem também, além da complexidade, o fato de procurar deixar as responsabilidades do software em camadas bem distintas. Assim, Model é sempre relacionado com a definição (modelagem) dos dados e do seu comportamento no tocante às regras de negócio. View, como o próprio nome indica, trata da apresentação destes ao usuário e por fim o que diferencia cada um deles Controller, Presenter e ViewModel.
MVC - o primeiro design pattern
Este é um padrão antigo realmente, com origens lá pela década de 1970. Mas, atualmente encontrou uma grande adoção por parte da comunidade dos desenvolvedores, talvez por causa da sua arquitetura que permite entre outras vantagens:
· Grande separação das responsabilidades tendo cada parte do software bem definida e com o mínimo de acoplamento possível;
· Ser um design pattern que facilita o desenvolvimento orientado a testes ou TDD. Atualmente, a possibilidade de escrever testes automatizados para garantir a qualidade e o funcionamento correto do software, está entre os principais requisitos para um bom processo de criação de software;
· Diferentemente dos projetos ASP.NET, não se usa view states ou conteúdo baseado em server controls. O programador tem toda a responsabilidade e controle sobre o funcionamento da sua aplicação. Para o bem e para o mal.
Como pode ser observado se você acompanhar o desenvolvimento do projeto proposto, o código fica mais claro e sem muita confusão de responsabilidades.
Uma página ASPX que é usada pela camada view para representar os dados, contêm marcação HTML. Embora alguns Server Controls sejam necessários – principalmente para controlar alguns aspectos como comportamento quando se usa master pages – a parte visual é HTML.
Já as camadas model e view são escritas com C# e cuidam do comportamento dos dados (model) e como estes são enviados para a apresentação (controller).
Então, o que fez um design pattern que já era conhecido dos desenvolvedores, voltar com toda força fazendo, à primeira vista, regredirmos para um ponto esquecido no passado onde, como disse certa vez Linus Torvalds (criador do sistema operacional Linux): “Os homens eram homens de verdade e os programadores escreviam seus próprios device drivers.”? Qual a razão para abandonar ferramentas RAD e voltar a “escovar bits” e “meter a mão na massa”?
A história já é conhecida. No início havia o HTML e páginas estáticas e o conteúdo vagava por uma infinidade de marcações, java scripts e folhas de estilo CSS. Então surgiram as primeiras aplicações CGI que foram sucedidas por linguagens como PHP que incorporavam a parte da lógica ao código HTML.
...Confira outros conteúdos:
Teste unitário com NUnit
Como migrar projetos do ASP.NET MVC...
Crie relatórios com o Stimulsoft...
Promoção de Natal
Oferta exclusiva de Natal!
Pagamento anual
12x no cartão
De: R$ 69,00
Por: R$ 59,90
Total: R$ 718,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- 12 meses de acesso
Pagamento recorrente
Cobrado mensalmente no cartão
De: R$ 79,00
Por: R$ 59,90 /mês
Total: R$ 718,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- Fidelidade de 12 meses
- Não compromete o limite do seu cartão
<Perguntas frequentes>
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.