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
|