Skip to content

Instantly share code, notes, and snippets.

@mufasa71
Created September 7, 2014 14:27
Show Gist options
  • Save mufasa71/b891c6441636753bfc27 to your computer and use it in GitHub Desktop.
Save mufasa71/b891c6441636753bfc27 to your computer and use it in GitHub Desktop.
  1. Single Responsibility Principle (SRP) - eliminating duplications and making sure that our pieces are named appropriately and expressively.
  2. Open-Closed Principle (OCP) - isolating knowledge, naturally building only the extension points that truly represent the pieces of system that will change.
  3. Liskov Substitution Principle (LSP) - only extend derived types don't change base behaviours.
  4. Interface Segregation Principle (ISP) - interfaces should be small, focused on a specific use case. Provide a clear, cohesive view of what class does.
  5. Dependency Inversion Principle (DIP) - depend on abstraction rather than implementation.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment