This is a multimodule didactic project in which each module contains a sample implementation for an Object-Oriented Programming design pattern.
Design patterns are clever solutions commonly known among the software developers for many usual challenges we face when we are planning the arquitectural roadmap to implement our code in the best possible way, always respecting the basic principles of OOP, such as SOLID rules.
You can read a brief explanation of each pattern and the individual implementation regarding these examples in the README.md file you will find at the root directory of every module.
Module | Design pattern |
---|---|
Babysitting | Visitor |
Cocktails | Template method |
Fast food | Dependency injection |
Vehicles | Builder | Factory method |
Vending machine | Adapter |
Common module is just a bunch of modularized methods and classes which may come in handy and are abstracted from the logic of the modules where they are being used; so we are able to take this code from wherever we need it.
Application module is the one that got the main class, so if you want to see an example execution of the code... just go there and run it!