layout: pattern title: Acyclic Visitor folder: acyclic-visitor permalink: /patterns/acyclic-visitor/ categories: Behavioral tags: – Extensibility Intent Allow new functions to be added to existing class hierarchies without affecting those hierarchies, and without creating the troublesome dependency cycles that are inherent to the GOF VISITOR Pattern. Class diagram Applicability This pattern can be used: When you need […]


layout: pattern title: Abstract Factory folder: abstract-factory permalink: /patterns/abstract-factory/ categories: Creational tags: – Gang of Four Also known as Kit Intent Provide an interface for creating families of related or dependent objects without specifying their concrete classes. Explanation Real world example To create a kingdom we need objects with common theme. Elven kingdom needs an […]


layout: pattern title: Abstract Document folder: abstract-document permalink: /patterns/abstract-document/ categories: Structural tags: – Extensibility Intent Achieve flexibility of untyped languages and keep the type-safety Class diagram Applicability Use the Abstract Document Pattern when there is a need to add new properties on the fly you want a flexible way to organize domain in tree like […]