On my current project we are using both binary and xml serialization to store data that relates to user settings in a winforms application.
Currently, we have two challenges:
- Serialization is being implemented via attributes on classes that also have business logic woven into them.
- It is difficult to re-factor these classes without affecting the ability to retrieve already stored data.
My main goal is to isolate a data contract so that it doesn't dilute or constrain other logic and so that I can provide a migration path for existing data when needed.