asp-net-core-mvc

Básico sobre ASP.NET Core MVC

This project is maintained by matheus-vieira

Princípio da Responsabilidade Única

No momento que conseguimos ter a separação de conceitos conseguimos atingir um princípio de arquitetura de software chamado Princípio da Responsabilidade Única presente nos padrões SOLID

SOLID

Conjunto de padrões de programação orientada a objetos

S -> Single Responsibility Principle

O -> Open/closed principle

L -> Liskov substitution principle

I -> Interface segregation principle

D -> Dependency inversion principle

Camadas Adicionais

Responsabilidade Do Modelo

Lógica de negócio e estado a aplicação são responsabilidades atribuídas ao modelo.

ViewModel

Modelos com lógicas de apresentação de conteúdo

Views fortemente tipadas se utilizam de modelos próprios.

A Controller popula a ViewModel e repassa à View

Lógicas com uma maior complexidade deve ser implementadas em ViewModels

Responsabilidade do Controlador

Controla qual modelo e exibição será utilizada.

Pontos de entrada de aplicações Web ou API’s.

Controladores cuidam da interação com o usuário da aplicação.

Requisições são encaminhadas (utilizando rotas, que veremos mais adiante) para a controladora responsável (PeopleController, ProductsController, etc.).

DRY (Don’t Repeat Yourself)

Ações se repetem em diversos pontos da aplicação.

Pense em utilia o princípio de Não Se Repitir.

Em controllers podemos utilizar filtros

Responsabilidades da Exibição

Apresentar as informações para o usuário é a responsabilidade da View.

Para isso temos a utilização de mecanismo de template chamado Razor. Com este mecanismo utilizamos códigos em marcações HTML.

Views devem conter o mínimo de lógica possível!

Caso exista alguma complexidade maior para exibir algum conteúdo considere a utilização de ViewModel ou View Components.