Это может быть немного субъективно, но я хотел бы узнать ваше мнение о моей текущей ситуации. У меня есть класс, который будет использоваться для сериализации/десериализации объекта.
public class MyClass
{
public static string ToXmlString( MyClass c ) { /*...*/ }
public static MyClass FromXmlString( string xml ) { /*...*/ }
}
Мне нравится этот подход только потому, что он сохраняет две функции на одном уровне. Однако моя цель — избегать использования статических методов (когда это возможно). Также кажется, что я могу нарушать SRP, но основная цель этого объекта заключается в том, что его можно сериализовать/десериализовать из строки xml.
Любые мысли об использовании статических методов в этой ситуации? Должен ли я просто сделать ToXmlString
нестатичным, но оставить FromXmlString
статическим? Должен ли я создать новый класс, который будет обрабатывать только сериализацию MyClass?
ИЗМЕНИТЬ:
Класс, который я здесь обсуждаю, представляет собой простой объект передачи. Он используется для сохранения/восстановления значений из стороннего инструмента.
Спасибо!