Architecture, bonnes pratiques et recettes pour la réussite de vos projets avec ASP.NET MVC

Post on 08-Jul-2015

894 views 4 download

description

Découvrir et démarrer un nouveau site web ASP.NET MVC est assez simple aujourd'hui mais le démarrer correctement avec une architecture pérenne et moderne en est une autre. C'est pourquoi nous avons voulu à travers cette session présenter des solutions concrètes, montrer les erreurs courantes, mettre l'accent sur les points sensibles ou encore vous présenter un ensemble de bonnes pratiques et de recettes autour de la plateforme. ASP.NET MVC est avant toute chose un framework dont les engagements vont bien plus loin que le simple pattern. Nous verrons donc au travers d'exemples détaillés comment structurer les projets, comment travailler et s'organiser avec l'écosystème d'ASP.NET MVC, les points sensibles de l'optimisation et des performances, les tests à tous niveaux, l'ergonomie et la qualité du rendu client ou encore les différents niveaux d'extension.

Transcript of Architecture, bonnes pratiques et recettes pour la réussite de vos projets avec ASP.NET MVC

palais des

congrès

Paris

7, 8 et 9

février 2012

Vous êtes dans la salle 352B

Mardi 7 Février 2012

Architecture, bonnes pratiques et

recettes pour la réussite de vos

projets avec ASP.NET MVC

Julien CoriolandDéveloppeurInfinite Square

Rui CarvalhoArchitecteArtOfNet

About

A r t Of N e t

Quel est le but de cette session ?

Quelques rappels sur ASP.NET MVC

Pourquoi choisir ASP.NET MVC ?

Les outils incontournables

Tips & Tricks

Objectifs

Bonnes pratiques

Optimisations

Quelques conseils

Agenda

Techniques Architecture

Quel est le but de cette session ?

De quoi va-t-on parler ?

De nos expériences ASP.NET MVC dans « la vraie vie »

De bonnes pratiques et d’architecture

De méthodes et d’outils !

De quoi ne va-t-on pas parler ?

Du fonctionnement interne d’ASP.NET MVC

Des spécificités et détails du Framework MVC

Des toutes dernières news encore en beta

Quel est le but de cette session ?

Quelques rappels sur ASP.NET MVC

Quelques rappels sur ASP.NET MVC

ContrôleurVue

Modèle

Quelques rappels sur ASP.NET MVC

ContrôleurVue

Modèle

Routes

ActionsActions Results

Filters

View Models

Model Binders

Annotations Validators

Helpers

Pourquoi choisir ASP.NET MVC ?

Revenir aux fondamentaux du web !

Contrôle du rendu HTML

Testabilité

Extensibilité

Optimisations SEO

Structurant : Un Framework « guidé » qui repose sur des conventions

Réutilisation des connaissances et/ou de certaines briques existantes

Migration « en douceur » depuis ASP.NET Webforms

Pourquoi choisir ASP.NET MVC?

Technique Projet

Productivité et outils

Scaffolding / Template T4

Génération de code

NuGet

Tous les outils et Framework à portée de main !

Mais aussi serveur de binaires

Déploiement :

IIS, IIS Express

Windows Azure

Productivité et outils

DEMO

Travailler vite et bien avec les bons outils !

Tips & Tricks

Modèle de domaine != Modèle de vue

Vues Typées

Data annotations

Validation: client / server / les deux

Action Filters

Pattern get (lecture) > post (écriture) > redirect

Créez vos propres Helpers

Adaptez les Templates aux besoins

Vues, Partial, Display & Editor Templates

Tips & Tricks

DEMO

Tips & Tricks

Architecture - Objectifs

Pensez S.O.L.I.D

SRP

Open/Close

Liskov

Interface segregation

Dependency Inversion

Pensez DRY, YAGNI

Pensez Domaine

Architecture : Objectifs

Architecture – Bonnes pratiques

Bootstrapper

Isolation des contrôleurs / ViewModels

Séparation UI/Code

Découplage fonctionnel : Areas

Indépendance de l’infrastructure

Indépendance du domaine

Si besoin

Séparation lectures/écritures

Event sourcing

Architecture : Bonnes pratiques

Architecture : bonnes pratiques

Domain

Infrastructure

Core

Areas

Site

Bootstrapper

Presentation

En Complément

Tests / Non régression

Partage des tâches

Développement orienté « composants »

Possibilités de substituer un ou plusieurs composant(s) en

fonction du besoin

Injection de dépendances

Architecture : bonnes pratiques

DEMO

Exemple d’une architecture type

Architecture - Données

Polyglot Persistance

Ne plus penser Modèle relationnel par défaut!

Utiliser la persistance adaptée à la nature des

données

Adapter les différents niveaux de cache

Action

Request

Session

Application

Architecture : Données

Architecture – Optimisations & Tuning

Optimisations & Tuning

HTML 5 Mise en cache

Asynchrone Temps réel

Architecture – Quelques conseils…

Rappels pratiques

PolyglotProgramming

Design First

Value UX

ASP.NET MVC est une plateforme

performante, structurante et évolutive

Débuter doucement et simplement

Montée en puissance et ROI assuré dans le temps

Conventions et bonnes pratiques

Migration des projets en douceur

Réutilisation de briques logicielles et de compétences

humaines

Beaucoup d’outils pour se faciliter la tâche

Conclusion

Q&A

Vous avez des

questions ?

Nous avons des

réponses !

Rui

rui@rui.fr

Twitter : @rhwy

Github: github.com/rhwy

http://rui.fr

Julien

jcorioland@infinitesquare.com

Twitter : @beedoo

http://www.juliencorioland.net

Merci!

SampArch : https://github.com/rhwy/SampArch

Vous êtes dans la salle 352B