Merely using an object-oriented language does not guarantee that the solutions you create are high-quality, flexible, and easy to maintain.
This four-day instructor-led course introduces the object-oriented design fundamentals, principles and heuristics using Test Driven Development (TDD) that allow us to create robust regression tests and good code. TDD is often mistaken for simply writing unit tests. The deeper truth is that TDD is first and foremost about incrementally specifying, implementing, and improving your software's design. During the sessions, the students will be introduced to design using TDD as well as design using standard UML. The course is heavily exercise-driven with the students spending the majority of the time accumulating greater skill by applying the concepts in incrementally more complex sub-projects. Improving's instructors bring real-world experience and insight to the classroom, and students walk away with knowledge, experience, and references to enhance retention.
- Developers with current object-oriented programming experience interested in learning more about high quality object-oriented design and test-driven development.
- 1 month or more experience programming in an object-oriented language.
Students will learn to:
- Assign responsibilities to classes to make the solution flexible, extensible, and maintainable.
- Think in objects
- Develop code using the TDD cycle
- Make design decisions during TDD
- Design good tests so that they are independent and fast
- Use dummies, stubs, fakes and mocks as appropriate to achieve test isolation and repeatability
- Detect suspicious code
- Basic Tips and techniques for refactoring bad code
- Use a Unit Testing tool
- Use a code coverage tool
- Explain Coupling and Cohesion
- Use polymorphism to create flexible solutions
- Decide when and (more importantly) when not to use inheritance
- Understand the connection between fundamental object-oriented design principles and design patterns
- Effectively use UML to communicate a design
- Use UML Interaction Diagram notation
- Use UML Static Structure notation
Save This Event
Improving Enterprises - Dallas
5445 Legacy Drive
Improving believes that the best way to learn is through the application of knowledge in real-world environments. We specialize in creating situated, hands-on learning solutions for our customers in the areas of agile processes, object-oriented design, and test-driven development.