Software
  • Introduction
  • Code craft
    • Clean code
    • Reusable code
    • Refactoring
    • Code smells
  • Service craft
  • Software Principles
  • Big Data
    • Introduction
    • Data modelling
  • Patterns
    • Enterprise patterns
    • Software patterns
  • Agile & proj management
    • Scrum vs Kanban
    • Kanban
    • Scrum
  • Conflict management
  • Reading
  • Software Architecture
    • Architecture components
Powered by GitBook
On this page
  • DRY
  • KISS
  • YAGNI
  • SOLID
  • Inversion of Control & Dependency Inversion

Was this helpful?

Software Principles

PreviousService craftNextBig Data

Last updated 5 years ago

Was this helpful?

DRY

  • don’t repeat yourself => don’t duplicate code ..

KISS

  • keep it simple => don’t add extra fluff

YAGNI

  • you aren't going to use it => don’t add extra fluff

SOLID

  • Single responsibility = module/class should have a single responsibility

  • Open/closed = module/class should be open for extension and closed for modification

  • Liskov substitution = objects from a class/type can be replaced by objects of the subclass/subtype

  • Interface segregation = many specific interfaces are better than 1 general-purpose interface

  • Dependency inversion = depend on abstractions and not on implementation details

  • Materials

Inversion of Control & Dependency Inversion

  • the flow is managed by a framework, which calls the custom code( written/applicative code)

http://www.dimecasts.net/Casts/ByTag/SOLID%20Principle