Class DeserializationContext tracks objects that have been deserialized from an Xml document, and performs GUID translation so that there are no Guid uniqueness constraints violated. This is useful if objects are being deserialized into a model multiple times (such as in a copy/paste operation.)
An ISerializer that knows how to store a wide range of objects into, and retrieve them from, an XML document.
An object that implements ISerializer knows how to store one or more types of objects into an archive, and subsequently, to take tham out of the archive. The object that implements this interface might be thought of as an archive.
This interface is implemented by objects that will be serialized and deserialized via LINQ to XML.
This interface is implemented by any object that can be serialized to a custom XML stream. (It does not mean that, necessarily, the XmlSerializationContext has been provisioned with serializers suffient to perform that serialization, but just that the object implementing it, knows how to break down and stream, and subsequently to reclaim from the stream, its constituent parts.