Object Oriented Design and Programming - Software Design Principles and Design Patterns, - Define the skeleton of an algorithm in an operation, deferring some steps to subclasses. - Template Method lets subclasses redefine certain steps of...More
Object Oriented Design and Programming - Software Design Principles and Design Patterns, - Define the skeleton of an algorithm in an operation, deferring some steps to subclasses. - Template Method lets subclasses redefine certain steps of an algorithm without letting them to change the algorithm's structure., * The visitor pattern is a great way to provide a flexible design for adding new visitors to extend existing functionality without changing existing code * The Visitor pattern comes with a drawback: If a new visitable object is added to the framework structure all the implemented visitors need to be modified. The separation of visitors and visitable is only in one sense: visitors depend of visitable objects while visitable are not dependent of visitors. * Part of the dependency problems can be solved by using reflection with a performance cost., The mediator pattern is used to takes the role of a hub or router and facilitates the communication between many classes. A similarity can be made