SOLID Design in Java
Course Objectives
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 Java applications using sound coding techniques and best practices.
Using Java 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!
Course Prerequisites
This is an introductory and beyond level Java programming course. Attendees should have real-world hands-on Java development experience prior to attending.
Course Agenda
Please note that this list of topics is based on our standard course offering, evolved from typical industry uses and trends. We’ll work with you to tune this course and level of coverage to target the skills you need most
Introduction
- Design
- Design Goals
- Process - Good, Bad, Ugly
- Design Smells
- Minimalistic Design and Test Driven Development
- The Company Class
- The Employee Class
Let's Get S.O.L.I.D.
- Single Responsibility Principle
- SRP Lab
- Open/Close Principle
- OCP Lab
- OCP Lab - Refactoring Employee
- OCP - Refactoring Company
- Liskov's Substitution Principle
- LSP Lab
- Interface Segregation Principle
- Interface Segregation Lab
- Dependency Inversion Principle
- DIP Lab
Sorry! It looks like we haven’t updated our dates for the class you selected yet. There’s a quick way to find out. Contact us at 502.265.3057 or email info@training4it.com
Request a Date