Single Responsibility Principle in Serialization
The Single Responsibility Principle may be one of the most important design concepts in programming. This blog illustrates how Microsoft broke this pattern in MFC, and how they later redeemed themselves in .NET