Principles in Practice
Rebecca Wirfs-Brock · IEEE Software · 2009
This paper deals with good software design principle. On what do you base your design decisions-established conventions, past experience, or principles? The author discusses about three principles that seemed to underlie many of those experts decisions: 1) distribute behavior among objects (rather than concentrate it into a single controlling object). 2) preserve design flexibility by hiding implementation details.3) define abstractions and interfaces first (before focusing on data and coding details).