Quick reference / Cheat sheets

Last updated: 2020-05-10

Programming

SOLID design principles of OOP

  1. Single responsibility
  2. Open for extension  & Closed for modification
  3. Liskov substitution: Program to abstraction.
  4. Interface segregation: Have many small interfaces than one general purpose.
  5. Dependency Inversion: Depend on abstraction

Software development principles

  • What the world says
    • DRY - Do not Repeat Yourself
    • YAGNI - You Aren't Gonna Need It
    • KISS - Keep It Simple Stupid
    • The Reason It All Exists.
    • What You Produce, Others Will Consume.
    • Be Open to the Future
    • Maintain the Vision
  • What I can add more
    • Don't think when you code and don't code when you think
  • References

Patterns

GoF Design patterns, Link2, Link3
Software development anti patterns
Functional programming patterns

Functional programming

Refactoring

Architecture

Principles - Things to remember before designing an application

  • Usable
  • Simple
  • Reliable
  • Available
  • Loosely coupled
  • Modifiable
  • Secure
  • Fast
  • Interoperable / communication.
  • Plug-able
  • Extensible
  • Scalable
  • Reusable
  • Customizable
  • Configurable
    • Administration
  • Modular/layered
  • Versionable
  • Testable
  • Easy deployment
  • Monitor
    • Logging

Packaging principles

Arch patterns
SOA Patterns 
Cloud Pattens - Link1, Link2Azure Patterns poster

No comments: