Which are my options to fix the issues with parallel inheritance hierarchies below? I would like to keep the Serializer classes stateless.
public abstract class BaseSerializerOptions
{
public Boolean SortComponents { get; set; }
}
public class TextSerializerOptions : BaseSerializerOptions
{
public Int32 TrimStrings { get; set; }
}
public class BinarySerializerOptions : BaseSerializerOptions
{
public Boolean SkipNulls { get; set; }
}
public abstract class BaseSerializer
{
public abstract void Serialize(Object obj, Stream s, BaseSerializerOptions opt);
}
public class TextSerializer : BaseSerializer
{
public override void Serialize(Object obj, Stream s, TextSerializerOptions opt)
{
}
}
public class BinarySerializer : BaseSerializer
{
public override void Serialize(Object obj, Stream s, BinarySerializerOptions opt)
{
}
}
Aucun commentaire:
Enregistrer un commentaire