- Theory
- Procedural programming: 👂 heard
- Imperative programming: 🖐️ used
- Structured programming: 👂 heard
- Non-structured programming: 👂 heard
- Functional programming: 🖐️ used
- Prototype-based programming: 🎓 known
- Object-oriented programming: 🖐️ used
- Object-based programming: 👂 heard
- Generic programming
- Concurrent computing
- Asynchronous programming: 🖐️ used
- Parallel programming
- Reactive programming
- Functional-reactive (FRP)
- Automata-based programming
- Domain-specific languages
- Multi-paradigm programming: 🖐️ used
- Metaprogramming
- Actor model
- Lambda calculus
- Black box
- Information hiding
- Aspect-oriented programming
- Anemic domain model
- Class composition
- OOP basics
- Constructor: 🖐️ used
- Operator
new
: 🖐️ used - Static method
- Method: 🖐️ used
- Async method: 🖐️ used
- Getters, Setters: 🖐️ used
- Public fields: 🖐️ used
- Private fields: 🖐️ used
- Field declarations
- Inheritance: 🎓 known
- Parent class: 🎓 known
- Polymorphism: 🎓 known
- Abstract class
- Interface: 🎓 known
- Encapsulation: 🎓 known
- Hidden class
- Object form
- Instance: 🖐️ used
- Introspection
- Reflection
- The diamond problem
- GRASP
- Information expert
- Creator
- Controller
- Indirection
- Low coupling
- High cohesion
- Protected variations
- Pure fabrication
- SOLID
- Single-responsibility principle (SRP)
- Open–closed principle (OCP)
- Liskov substitution principle (LSP)
- Interface segregation principle (ISP)
- Dependency inversion principle (DIP)
- Patterns
- Singleton: 👂 heard
- Factory Method: 👂 heard
- Abstract Factory: 👂 heard
- Adapter
- Observer
- Strategy
- Facade
- Proxy: 👂 heard
- Chain of Responsibility: 👂 heard
- Command
- Iterator: 👂 heard
- State
- Bridge
- Builder
- Prototype: 🎓 known
- Composite
- Decorator: 🖐️ used
- Flyweight
- Mediator
- Memento
- Template Method
- Visitor
- Reactor
- Active object
- Delegation