The Object-Oriented Design for C++ training course provides an elegant conceptual view of a system’s purpose, but little advice on the practicalities of constructing a system. By contrast, implementation technologies, such as C++ , provides the detail necessary to build but little advice on how to establish an effective architecture for the system.
This course acts as the bridge between object-oriented analysis and implementation knowledge, in many respects picking up where C++ programming language courses and analysis and design courses leave off. The course begins by looking at the conceptual model of a system and the modeling elements used to express it. This is followed by an introduction to patterns, which are an essential concept in modern OO development. Patterns for architecture, design and language-level idioms are introduced and applied to the conceptual model. Technology issues such as concurrency and distribution are covered as options later in the course.
By attending Object-Oriented Design for C++ workshop, delegates will learn to:
- Develop a system architecture given the analysis models and architectural constraints
- Take the detail of a class model and elaborate it into a more complete design specification
- Implement an object-oriented design in C++
- Apply patterns to their object models to resolve architectural, design and implementation issues
- Use features of C++ that support the construction of large applications, and the use of frameworks and existing libraries
- Apply the appropriate technology to the implementation of design elements
Solid C++ background, with at least 6 months hands-on experience following the C++ for C Programmers or C++ for non-C Programmers course, or equivalent.
Understanding of object-oriented concepts, which might be gained from the analysis and design course. Your understanding should include Encapsulation, and how to make best use of the C++ public, protected and private access specifies; Inheritance and how it is expressed in C++ ; Polymorphism and the use of virtual functions in C++ ; Abstract classes and pure virtual functions; object relationships, such as association and composition; How to use the C++ const qualifier; How to use existing code libraries, such as the standard C++ library.
C++ programmers wishing to enhance their OO development skills.