Saturday, October 21, 2006

Design principles

[Time: 2:20 mins]

  • What is software design
  • Decomposition is done at various levels of granularity
  • We will focus on some simple principles that deal with classes, their responsibilities, and collaborations.

There are some well known software design principles that serve as guideposts for us in the design process. In this section we will discuss some of the most important principles. AS OF NOW THIS SECTION COVERS SOME BASIC PRINCIPLES. OTHER PRINCIPLES LIKE THE ''OPEN CLOSED PRINCIPLE", "LISKOV SUBSTITUTION PRINCIPLE", etc, WILL BE ADDED IN THE NEXT VERSION OF THIS COURSE.

Something to remember before moving ahead: 

While principles, patterns, heuristics, and guidelines offer valuable advice about how to do things the right way, they don't serve as substitution for thinking on our own. Unfortunately, I think we all too often let these principles, etc. do the thinking for us.

-- Kirk Knoernschild 

Note: This post was originally posted on my blog at

No comments: