EnglishSite mapContactsFrançais
 CompanyConsultingTrainingDevelopmentProductsProjectsTechnologiesReferencesEventsRecruitment
Design Patterns
Aims
• To understand Design Patterns.
• To be able to implement design patterns in a technical design environment.
Participants
This training course is designed for project managers, architects and design engineers.

Prerequisites:
• Knowledge of UML is strongly recommended.
• Knowledge of the C++ or Java languages is essential.

Ratio of theory to practice:
• 60/40
Ref : CDP 2 Days
Paris 2008/2009
Contact us

Objectives
Object-oriented design has long been more of an art than a science.
According to the definition of its inventor, a Design Pattern describes a recurring problem in a given environment, and then describes a solution to this problem in such a way as to make this solution re-usable every time the problem is encountered, without it being identical each time.
Design Patterns thus provide a means of transmitting know-how and experience in the field of object-oriented design, thereby allowing this know-how to be industrialized as much as possible.

Design strategy and techniques
• Object design, a complex task
• Successive refinements of the analysis model

Definition of Design Patterns
• "On-the-shelf" design solutions
• Defining the technical need: the client
• Defining the pattern's "type" classes
• Defining collaborations between classes
• CRC cards

Analysis model and architecture
• Defining applicable design rules
• Defining abstract technical models
• Systematizing architecture principles
• Automating architecture principles

Using Design Patterns
• Formal description of a pattern
• How to choose a pattern?
• How to use a pattern?

Object construction patterns
• Making a system independent from the way in which objects are created
• Patterns studied: Abstract factory, Singleton, Prototype

Structuring patterns
• Composing objects to obtain new functionalities
• Patterns studied: Adapter, Composite

Behavior management patterns
• Identifying evolving and de-coupled co-operations
• Patterns studied: Observer and MVC, Command Processor, Strategy, Template method

Communication patterns
• Identifying de-coupled co-operations which can be used in a distributed context
• Patterns studied: Publisher-Subscriber, Proxy

Java case study
• Creating a Java application using the Observer, Singleton, Command Processor and Composite patterns
• Elements used to personalize the module
• Demonstration of pattern automation with Objecteering/UML

Conclusion
• Formalization of technical solutions
• Notions and vocabulary common to all developers
• Re-use of technical expertise

>> Download this course description in pdf format (french):
Paris  •  Rennes  •  Nantes  •  Sophia Antipolis  •  Objecteering Software