is now
Showing posts with label class designing princples. Show all posts

What are Software design principles?

  • Software design principles represent a set of guidelines that helps us to avoid having a bad design.

  • Associated to Robert Martin who gathered them in “Agile Software Development: Principles, Patterns, and Practices".
  • According to Robert Martin there are 3 important characteristics of a bad design that should be avoided:
    • Rigidity: It is hard to change because every change affects too many other parts of the system.
    • Fragility: When you make a change, unexpected parts of the system break.
    • Immobility: It is hard to reuse in another application because it can't be disentangled from the current application.

What does SOLID stands for?