Skip to content

Instantly share code, notes, and snippets.

@munkacsitomi
Last active October 26, 2018 08:36
Show Gist options
  • Select an option

  • Save munkacsitomi/61b653ec27e0e48268cff346c577019d to your computer and use it in GitHub Desktop.

Select an option

Save munkacsitomi/61b653ec27e0e48268cff346c577019d to your computer and use it in GitHub Desktop.
Abstraction: objects, classes, and variables
Encapsulation: private, public, protected
Inheritance: new classes share some of the attributes of existing classes (parent, child class, extends)
Polymorphism: method overloading, method overriding
S: Single Responsibility Principle
- A class should have only one job.
O: Open-Closed Principle
- Software entities (Classes, modules, functions) should be open for extension, not modification.
L: Liskov Substitution Principle
- A sub-class must be substitutable for its super-class.
I: Interface Segregation Principle
- Make fine grained interfaces that are client specific.
D: Dependency Inversion Principle
- High-level modules should not depend upon low-level modules. Both should depend upon abstractions.
- Abstractions should not depend on details. Details should depend upon abstractions.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment