35
palais des congrès Paris 7, 8 et 9 février 2012

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

Embed Size (px)

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.

Citation preview

Page 1: 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

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

Vous êtes dans la salle 352B

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

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

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

About

A r t Of N e t

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

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

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

Quel est le but de cette session ?

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

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 ?

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

Quelques rappels sur ASP.NET MVC

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

Quelques rappels sur ASP.NET MVC

ContrôleurVue

Modèle

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

Quelques rappels sur ASP.NET MVC

ContrôleurVue

Modèle

Routes

ActionsActions Results

Filters

View Models

Model Binders

Annotations Validators

Helpers

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

Pourquoi choisir ASP.NET MVC ?

Page 12: Architecture, bonnes pratiques et recettes pour la réussite de vos projets avec 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

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

Productivité et outils

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

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

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

DEMO

Travailler vite et bien avec les bons outils !

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

Tips & Tricks

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

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

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

DEMO

Tips & Tricks

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

Architecture - Objectifs

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

Pensez S.O.L.I.D

SRP

Open/Close

Liskov

Interface segregation

Dependency Inversion

Pensez DRY, YAGNI

Pensez Domaine

Architecture : Objectifs

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

Architecture – Bonnes pratiques

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

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

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

Architecture : bonnes pratiques

Domain

Infrastructure

Core

Areas

Site

Bootstrapper

Presentation

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

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

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

DEMO

Exemple d’une architecture type

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

Architecture - Données

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

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

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

Architecture – Optimisations & Tuning

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

Optimisations & Tuning

HTML 5 Mise en cache

Asynchrone Temps réel

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

Architecture – Quelques conseils…

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

Rappels pratiques

PolyglotProgramming

Design First

Value UX

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

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

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

Q&A

Vous avez des

questions ?

Nous avons des

réponses !

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

Rui

[email protected]

Twitter : @rhwy

Github: github.com/rhwy

http://rui.fr

Julien

[email protected]

Twitter : @beedoo

http://www.juliencorioland.net

Merci!

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

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

Vous êtes dans la salle 352B