Jeremy Miller has written a good article on the Open/Closed Principal and friends for MSDN. Read it now. (NOW!)