Last active
October 26, 2018 08:36
-
-
Save munkacsitomi/61b653ec27e0e48268cff346c577019d to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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