Sitecore Tip #3: Make DTO Classes Serializable
Serialization is like insurance, everyone knows it’s good to have it, but not many implement it in Sitecore, yet regret it later when they are tasked with expanding their environment or asked to provide a feed of their data to, for instance, a partner company.
Serialization is used by Application Session and ViewState in .NET WebForms; if objects are serializable, the client can easily upgrade to a distributed Sitecore server environment without changing the code. In addition, serializable objects can be transferred via a variety of other means, as every platfom “speaks” text.
Although, serialization can come in very handy in certain situations, please limit using it for Data Transfer Objects (DTOs) only.