Program
Encapsulation: interest, good practices
Aggregation of objects
Inheritance: use case, preference for composition
Polymorphism: ad-hoc, subtyping, parametric types
Value Objects
Virtuous circle of ignorance
Workshop: building a coherent class scheme
Tell don’t ask
Dependency management
Breakdown of business rules based on interaction
Behavior-based design
Demeter’s Law
Workshop: implementation of behavior patterns
Design by concepts rather than by data: concepts, object types
Hexagonal Architecture
Presentation of SOLID
principles Unique responsibility
principle (SRP) Open-close principle (OCP)
Workshop: multiple examples of bad / good implementation
Abstraction-Instability metric (RC Martin)
Liskov substitution principle (LSP)
Composition versus inheritance
Principle of interface segregation (ISP)
Workshop: analysis of a code and presentation of metrics – rewriting of concrete examples
Modular
design Business domain design (DDD overview)
Infrastructure separation (persistence, UI, ORM, etc.)
Dependency inversion principle (DIP)
Repositories (Repositories)
Transport object (DTO)
Presentation of clean architecture
Workshop: implementing a layered applicaion
History and reference works
Fields of application
How to apply Design Patterns
Factory and Abstract Factory for creation under
Singleton and derivative conditions : control of available resources
The Composite, how to simplify the
Proxy and Adapter lists , the interfaces for accessing the methods
The Facade: clarifying a component
Strategy: the method factory
The iterator and its existing implementations
Observe: events without events
Chain of responsibility and responsibility trees
Visitor and access: mastery of collaboration
Overview of other Design Patterns
Workshop: implementation of the different design patterns studied
Duration
5 days
Price
2395 £
Public
C # Developers
Prerequisites
Have taken the C # Initiation + Deepening or equivalent concepts
Reference
FOR101050-F
Sessions
From 06/04/2021 to 08/04/2021 (example)
Dates ?
Dates ?