Game-Development-101 Contents Object Oriented Programming Principles Encapsulation Inheritance Polymorphism Abstraction SOLID Principles Single Responsibility Open Closed Liskov Substitution Interface Segregation Dependency Inversion Design Patterns Command Composite Decorator Model-View-Presenter Object Pool Observer Singleton State Machine Strategy