Object-oriented analysis and programming course Design patterns Creational patterns Builder Factory Simple factory Factory method Abstract factory Factory of factories Singleton Structural patterns Adapter Composite Decorator Facade Behavioral patterns Iterator Observer Strategy Visitor State