Skip to content

Latest commit

 

History

History
91 lines (90 loc) · 1.76 KB

Paradigms.md

File metadata and controls

91 lines (90 loc) · 1.76 KB

Multi-paradigm programming

  • Theory
    • Procedural programming
    • Imperative programming
    • Structured programming
    • Non-structured programming
    • Functional programming
    • Prototype-based programming
    • Object-oriented programming
    • Object-based programming
    • Generic programming
    • Concurrent computing
    • Asynchronous programming
    • Parallel programming
    • Reactive programming
    • Functional-reactive (FRP)
    • Automata-based programming
    • Domain-specific languages
    • Multi-paradigm programming
    • Metaprogramming
    • Actor model
    • Lambda calculus
    • Black box
    • Information hiding
    • Aspect-oriented programming
    • Anemic domain model
    • Class composition
  • OOP basics
    • Constructor
    • Operator new
    • Static method
    • Method
    • Async method
    • Getters, Setters
    • Public fields
    • Private fields
    • Field declarations
    • Inheritance
    • Parent class
    • Polymorphism
    • Abstract class
    • Interface
    • Encapsulation
    • Hidden class
    • Object form
    • Instance
    • 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
    • Factory Method
    • Abstract Factory
    • Adapter
    • Observer
    • Strategy
    • Facade
    • Proxy
    • Chain of Responsibility
    • Command
    • Iterator
    • State
    • Bridge
    • Builder
    • Prototype
    • Composite
    • Decorator
    • Flyweight
    • Mediator
    • Memento
    • Template Method
    • Visitor
    • Reactor
    • Active object
    • Delegation