Course Outline
Introduction to Design Patterns
- Definition and significance of design patterns.
- Rationale for using design patterns.
- Gang of Four (GoF) and pattern classification.
- Core design principles (SOLID, DRY, KISS, YAGNI).
Creational Design Patterns
- Factory Method
- Abstract Factory
- Singleton
- Builder
- Prototype
Structural Design Patterns
- Adapter
- Bridge
- Composite
- Decorator
- Facade
- Flyweight
- Proxy
Behavioral Design Patterns
- Chain of Responsibility
- Command
- Interpreter
- Iterator
- Mediator
- Memento
- Observer
- State
- Strategy
- Template Method
- Visitor
Applying Design Patterns in Real-World Applications
- Utilization of design patterns in enterprise applications.
- Refactoring legacy code using design patterns.
- Combining multiple patterns for robust solutions.
- Best practices and common pitfalls.
Summary and Next Steps
Requirements
- Proficiency in Java programming.
- Understanding of Object-Oriented Programming (OOP) concepts.
- Fundamental knowledge of software architecture principles.
Audience
- Java developers aiming to strengthen their design capabilities.
- Software architects focused on building scalable applications.
- Technical leads dedicated to improving code maintainability and efficiency.
Testimonials (5)
- The course progression (from JVM internals to more high-level topics) - Some insights from practical exercises - Visual style (not some presentation, but a nicely styled page)
Ivan Suvorov - Deutsche Bank
Course - Java Advanced
That we got a complex overview also about the context - for example why do we need some annotations and what they mean. I liked the practical part of the training - having to manually run the commands and call the rest api's
Alina - ACCENTURE SERVICES S.R.L
Course - Quarkus for Developers
The extra information that was shared, the training was not straightforward groovy, which was nice.
Covenant - Vodacom
Course - Groovy Programming
Detailed information provided on the more advanced topics requested.
Farukh Khan - Tandem Solution
Course - RabbitMQ with Java and Spring
The breadth of the topis covered was quite a bit and the trainer tried to do justice to that.