이 예제에서는 Serializer 개체가 두 메서드에서 인스턴스 변수 또는 메서드 변수 여야합니까? 두 가지 접근 방식의 장단점은 무엇입니까?이 예제에서는 인스턴스 변수 또는 메서드 변수 여야합니까?
public class CustomerHelper
{
private _Serializer;
private JavaScriptSerializer Serializer {
get
{
if (_Serializer == null) {
_Serializer = new JavaScriptSerializer();
}
return _Serializer;
}
public Customer GetJsonLog(Customer Cust)
{
return GetFromLog(Serializer.Searilize(Cust));
}
public void WriteToLog(Customer Cust)
{
SaveToLog(Serializer.Searilize(Cust));
}
}
편집 - 스레드 안전성 문제를 무시하고 Seralizer 객체를 다시 사용한다고 가정합니다.
"NullReferenceException"을 던질 수있는 코드에서 serialiser에 도달하는 두 가지 다른 방법이 필요하다는 것에 대해 더 걱정할 것입니다. 왜 당신의 생성자에서 그것을 초기화하고'private serialiser' 속성을 없애지 않을까요? – MickyD
해당 속성이 두 가지 다른 메서드에서만 사용되는 경우 무엇입니까? 그래서 내가 게으른 로딩이었습니다. – user3587180
이 질문에 투표가 왜 내려 졌는지 나는 잘 모르겠습니다. 나는 그것이 유효한 질문이라고 생각했다. – user3587180