Software Design - Principles

Card Puncher Data Processing


When a trade off must be made then the design principles help guide the decision in choosing between competing alternatives.


Java: principles circa 2005.

  • Reading is more important than writing
    • code should be a joy to read
    • the language should not hide what is happening
    • code should do what it seems to do
  • Simplicity matters
    • a clear semantic model greatly boosts readability
    • every “ good” feature adds more “bad” weight
    • sometimes it is best to leave things out
  • One language: with same meaning everywhere


  • Less is more. What have no meaning is not welcome (XML vs Json, Graphic without Border, …)
  • Text-readable first, Command-Line second, WebGui Third
  • Feedback: Open all, close on demand
  • Features: Start small, open on demand
  • Wouah effect

Documentation / Reference

Discover More
Card Puncher Data Processing
The Art of Programming - Information System and Software Design

The Art of Programming - Information System and Software Design This section is about how to use the basic block of a language in order to create high order component. Abstract:_The_Art_of_DesignThe...

Share this page:
Follow us:
Task Runner