Quick reference / Cheat sheets

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

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

Cloud Pattens - Link1, Link2Azure Patterns 

No comments: