SOLID Designs in C++ (TTCP1270)
SOLID Designs in C++ (TTCP1270) Course Details:
Geared for experienced Java developers, SOLID Design in C++ is a lab-intensive hands-on C++ programming course that dives into the aspects of software engineering that produce both great and failed software. Students will start off by exploring for design, the common smells, process and the SOLID principles. Best practices are emphasized throughout the course.
*Please Note: Course Outline is subject to change without notice. Exact course outline will be provided at time of registration.
This "skills-centric" course is about 50% hands-on lab and 50% lecture, designed to train attendees in advanced development skills, coupling the most current, effective techniques with the soundest industry practices. Students will leave this course armed with the required skills to improve their C++ applications using sound coding techniques and best practices.
Using C++ to demonstrate with extensive hands-on labs, this course teaches:
- Design Goals - What are we trying to accomplish?
- Design Smells - How to identify and objectively articulate bad design choices.
- Test Driven Development and minimalistic design and implementation - Avoid overdesign and facilitate design changes.
- Process - What are the best ways to proceed with software development and measure progress.
- Single Responsibility Principle - Only one reason to change
- Open/Close Principle - Open for business, closed for modification
- Liskov's Substitution Principle - a subtype can do more and require less
- Interface Segregation Principle - interfaces are for clients
- Dependency Inversion Principle - don't call us, we'll call you!
This in an intermediate-level C++ development course geared for experienced C++ developers.