SLR

.NET WEB MVC





Part II : Architecture(s) & Concepts

Title

Title

ArchitecturE(s)




Patterns

Non


Il n'y a pas de modèle d'architecture unique mais uniquement des patterns d'architecture qu'il faut savoir manipuler

Non


Habituellement ce que l'on appelle architecture n'est qu'une vision de l'infrastructure technique...

Oui


Open


Architecture



"is the art of drawing lines"

Layers


Layers


Layers



En vrai...


On a juste rajouté une couche supplémentaire DEPENDANTE de tous les autres.

MVC n'est qu'un framework technique qui sert à organiser les choses que l'on présente au client

Donc


Il est important de comprendre le rôle de MVC pour comprendre son usage et fonctionnement

Et surtout ce qu'il est et n'est pas

Solutions ?

ARCHITECTURE



is the art of drawing lines...

*

"...boundary lines"

Clean Architecture


HEXA


En situation


Donc



MVC n'est pas une architecture

UI


MVC


C'est un principe qui dit votre code doit être découpé en une partie qui manipule le modèle, une partie qui manipule l'affichage et une partie qui contrôle l'interaction et que chacune doit bien être isolée des autres

Intentions


L'architecture doit montrer les intentions, il n'est pas question ici de frameworks ou de patterns.

MVC en tant que framework n'est qu'un outil, ce sont les principes et les intentions qui comptent


MVC


à une échelle plus macro:

M : le modèle, le domaine, le métier

V : UI, l'interface utilisateur, par là ou passent les échanges avec lui

C: le workflow, celui qui fait (faire) des traitements

MVC Web



Les frameworks web sont des implémentations orientés traitement de la requête web.

Différent donc du pattern initial qui était positionné sur chaque objet.

ASP vs RAILS


Des intégrations similaires du pattern sur beaucoup de choses mais certains choix impactants différents

Il manque des bouts!



Le MODèle


Par choix, ASP.NET MVC ne traite pas du tout le modèle, même si il offre des mécaniques d'aide au traitement du modèle:

  • Aide à la génération de code (scaffolding)
  • Prise en compte d'attributs de modèle dans les vues
  • Prise en compte de validation
  • ...

Le modèle


Dans le cadre d'un framework MVC en tant qu'infrastructure de delivery, le modèle n'est pas pris en compte, c'est mieux!

REduction


donc V et C !


mais ce n'est pas tout...

Ajouts


Notions importantes



  •  ROUTING
    • CONTROLLERS
      • ACTIONS
        • VIEWS

Workflow



  1. Query => Routing
  2. Filter   => Controller
  3. Action => ActionResult
  4. View    => Response

Workflow



Par quoi on commence?