Working with Design Patterns
Providing tested, proven development paradigm using Design Patterns
Duration
2 Days
Level
Intermediate Level
Design and Tailor this course
As per your team needs
Edit Content
The Working with Design Patterns training course delivers a hands-on view of how Design Patterns can be used to design and refactor software systems.
The course begins with a short overview of modern system architecture concepts: Classical Design Patterns, Test Driven Development, Refactoring, and Service-Oriented Architecture.
With that basis, students will learn detailed implementation strategies for the primary construction patterns, with an eye to decoupling modules and creating testable units. The course concludes with exploring data management, patterns for containerization, and serverless computing.
Edit Content
- Software Engineers
- Experienced OOPS Developers
- Experienced Software Developers
Edit Content
- Choosing Meaningful Names
- Writing Clean Functions
- The Proper Use of Comments
- Coding Style and Formatting
- Writing Clean Classes
- Single Responsibility Principle (SRP)
- Open-Closed Principle (OCP)
- Liskov Substitution Principle (LSP)
- Interface Segregation Principle (ISP)
- Dependency Inversion Principle (DIP)
- The Purpose of Refactoring
- The Rules of Simple Design.
- Taking Small Steps.
- De-odorizing code by using refactorings
- Applying various refactoring techniques to code smell
- Naming
- Long method
- Temporary variables
- Feature envy
- Conditional logic
- Duplicated code
- What to test
- Keeping Tests Clean
- Domain-Specific Testing Language
- One Assert
- State-based tests
- Interaction based tests
- Unit vs Integration testing
- Test doubles
- Designing for change
- Creational patterns
- Structural patterns
- Behavioral patterns
Edit Content
- Java programming language will be used for code demos
- IDE: IntelliJ Idea/Eclipse
- Java version 8 or above installed
- Access to GitHub.com for coding exercises