Last updated: 2020-05-10
Programming
SOLID design principles of OOP
- Single responsibility
- Open for extension & Closed for modification
- Liskov substitution: Program to abstraction.
- Interface segregation: Have many small interfaces than one general purpose.
- 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, Link3Software 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
- Cohesion
- REP - The Reuse-Release Equivalence Principle
- CRP - The Common-Reuse Principle
- CCP - The Common-Closure Principle
- Coupling
- ADP - The Acyclic-Dependencies Principle
- SDP - The Stable-Dependencies Principle
- SAP - The Stable-Abstractions Principle
- References
No comments:
Post a Comment