OPP

OOP

(SRP) Single Responsibility Principle

  • A class is only responsible for corresponding responsibilities in one functional domain
  • Separation of responsibilities, improving class cohesion, reducing class coupling, making code more flexible,
    maintainable and extensible

(OCP) Open-Close Principle

  • A software entity (class, module, function, etc.) should be open for extension and closed for modification
  • Make the code more flexible, scalable and maintainable, while also reducing the risk and complexity of the code

(LSP) The Liskov Substitution Principle

  • All references to the base class (parent class) must be able to use objects of its subclasses transparently
  • Ensure the correctness and reliability of the code, and avoid destroying the behavior and logic of the parent class in
    the subclass

(DIP) The Dependency Inversion Principle

  • High level modules should not depend on low level modules
  • Depend upon abstractions
  • Reduce the coupling and improve the flexibility and scalability

(ISP) The Interface Segregation Principle

  • A class should only depend on the interface it needs

FP (Functional Programming)

RP (Reactive Programming)

Parser