| Domain Driven Design avancé |
| Mise en pratique de la conception pilotée par le métier |
Référence : DDD-IMMER-01-04
Durée : 4 jour(s) |
Présentation
Trouver et exploiter les modèles liés au domaine métier sont des facteurs de réussite pour la conception de systèmes logiciels d'envergure. Dans cette formation, vous apprendrez à établir une connexion forte entre les langages utilisés par les experts du métier, par les utilisateurs, par les développeurs et ainsi accélérer sensiblement le processus de traduction des besoins utilisateurs pour la réalisation du logiciel. Vous améliorerez vos capacités à modéliser le domaine métier et à utiliser les meilleures pratiques de développement, comme l'utilisation de design patterns, la refactorisation et le développement piloté par les tests.
|
|
Objectifs
- Maîtriser la séparation entre les connaissances métier et la résolution de problématiques techniques
- Maîtriser la création de systèmes viables
- Se confronter à la réalité des projets à équipes multiples
- Savoir s'adapter au contexte technique de l'entreprise
- Appliquer les techniques pour traiter la diversité des modèles sur les projets de taille importante
|
Contenu
Ubiquité du langage
- Présentation de DDD (Domaine Driven Design), la conception orienté domaine
- Exercice sur l'ubiquité du langage
Décrire un modèle
- Patterns tactiques de modélisation du domaine (entités, objets, repositories...)
- Introduction au TDD (test-driven development), le développement piloté par les tests et écriture de tests comme processus de modélisation
Le processus de découverte du modèle
- Faire évoluer les concepts implicites vers des concepts explicites
- Modéliser avec les experts du domaine
- Appliquer les design patterns et les patterns d'analyse
Conception souple
- Ecriture de tests (en TDD) pour caractériser les objets (interfaces et comportements)
- Simplifier l'écriture de code
- Techniques avancées pour améliorer la réutilisation du code
Mapping de contexte
- Approche pragmatique pour faire cohabiter plusieurs modèles dans les projets
- Relations entre sous-systèmes et relations entre les équipes
Conception multi-sous-systèmes et multi-équipes
- Ecriture de tests aux limites des sous-systèmes
- Identifier les points importants
- Ecriture de tests pour les cas importants
- Ecriture des couches de transition
Utiliser les frameworks de l'entreprise
- Illustration dans le cadre de la technologie JEE (version .NET possible)
- Présentation/discussion/questions-réponses
- Les erreurs classiques avec les Servlets et les EJB
- Les problèmes liés au mélange de la logique métier avec les composants JEE comme les Servlets et les EJB
- Comment limiter le couplage entre la conception et les frameworks
- Rendre le code plus facile à comprendre
- Rendre le code plus facile à tester
- Quand utiliser les fonctionnalités d'un framework et quand utiliser les POJO ?
- Eviter de devenir une « fashion victim »
Distillation stratégique
- Distinguer l'essentiel du superflu
- Où concentrer son effort ?
- Obtention d'une vision partagée
Le coeur du domaine
- Obtenir une vision nette de la logique du coeur du domaine
- Tirer un avantage des concepts émergents suite à une clarification
- Rendre un sous-domaine générique facile à utiliser et à maintenir
- Se contenter d'un « suffisamment bon » ou viser le « meilleur » ?
|
| * Le déjeuner est compris dans le tarif. |
| ** Les livres sont offerts uniquement pour les formations inter-entreprise. Zenika se réserve le droit de changer le livre proposé à tout moment. |
|
| Partenaire : Skills Matter |
|
|
|
|