약간 주관적 일 수 있지만 현재 상황에 대한 귀하의 의견을 듣고 싶습니다. 개체를 serialize/deserialize하는 데 사용할 클래스가 있습니다.정적 메서드를 처리 할 때 동일한 수준의 코드 유지
public class MyClass
{
public static string ToXmlString(MyClass c) { /*...*/ }
public static MyClass FromXmlString(string xml) { /*...*/ }
}
이 접근법은 두 가지 기능을 동일한 수준으로 유지하기 때문에이 접근 방식과 같습니다. 그러나, 내 목표는 정적 방법 (가능한 경우)을 사용하지 않는 것입니다. 또한 SRP를 vilolating하는 것처럼 느껴지지만이 객체의 주요 목표는 xml 문자열에서 seriliazed/deserialize 될 수 있다는 것입니다.
이 상황에서 정적 방법 사용에 대한 의견이 있으십니까? 그냥 ToXmlString
을 비 정적으로 만들지 만 FromXmlString
은 정적으로 두어야합니까? MyClass의 serilization 만 처리 할 새로운 클래스를 생성해야합니까?
편집 : 나는 여기 토론 간단한 전송 객체입니다 해요
클래스입니다. Thrid 파티 도구에서 값을 저장/복원하는 데 사용됩니다.
감사합니다.
정적 인 것을 방지해야하는 이유는 무엇입니까? –
몇 가지 이유 때문에 정적 인 것을 피합니다. 1) 필요한 경우 IoC로 이동하기가 더 쉬움 2) 상속을 통해 객체를 확장 3) OO 관행을 사용하여 하나님 클래스에 대한 추락을 피하십시오 ... –