architecture, bonnes pratiques et recettes pour la réussite de vos projets avec asp.net mvc
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
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
Twitter : @rhwy
Github: github.com/rhwy
http://rui.fr
Julien
Twitter : @beedoo
http://www.juliencorioland.net
Merci!
SampArch : https://github.com/rhwy/SampArch
Vous êtes dans la salle 352B