Why should a class be anything other than "abstract" or "final/sealed"
- by Nicolas Repiquet
After 10+ years of java/c# programming, I find myself creating either:
abstract classes: contract not meant to be instantiated as-is.
final/sealed classes: implementation not meant to serve as base class to something else.
I can't think of any situation where a simple "class" (i.e. neither abstract nor final/sealed) would be "wise programming".
Why should a class be anything other than "abstract" or "final/sealed" ?
EDIT
This great article explains my concerns far better than I can.