복잡한 일회성 초기화가있는 정적 필드 쌍이 있습니다. 이 초기화가 느리게 발생하도록 라 표준 singleton pattern을 원합니다.다중 변수 복잡한 싱글 톤
그러나 초기화 절차에는 두 필드가 모두 포함되어 있으므로이를 두 개의 서로 다른 싱글 톤으로 구분할 수 없습니다.
이 문제를 해결하는 가장 좋은 방법은 무엇입니까?
복잡한 일회성 초기화가있는 정적 필드 쌍이 있습니다. 이 초기화가 느리게 발생하도록 라 표준 singleton pattern을 원합니다.다중 변수 복잡한 싱글 톤
그러나 초기화 절차에는 두 필드가 모두 포함되어 있으므로이를 두 개의 서로 다른 싱글 톤으로 구분할 수 없습니다.
이 문제를 해결하는 가장 좋은 방법은 무엇입니까?
나는 현재 이런 식으로 일을 해요 :
class OuterType {
//...
static class FieldInitializer {
public static readonly SomeType field1, field2;
static FieldInitializer() {
//Complicated code that sets both fields together
}
}
//...
}
사람이 다른 아이디어가 있습니까?
'싱글 톤'에 대한 참조를 모두 포함하는 래퍼 클래스를 만들고 그 클래스를 싱글 톤으로 만드시겠습니까?
부록 : (
나는이 두 필드가 실제로 클래스에 속해 있고, 편의를 위해서가 아니라. 함께 초기화해야 할 필요가있는 경우 함께 사용되며 문제 영역 또는 솔루션 영역에서 개념을 나타낼 수 있습니다. –
참조 : http://www.yoda.arachsys.com/csharp/singleton.html 다섯 번째 옵션. 당신은 기본적으로 이미 그것을하고 있습니다. –