C#의 비 싱글 톤 클래스 내에 싱글 톤 클래스를 중첩시킬 수 있습니까? 그렇다면이 경우 싱글 톤의 수명주기에 대한 제한이 있습니까?중첩 된 싱글 톤 클래스
public class NonSingletonClass
{
public NonSingletonClass()
{
// Initialize some stuff.
}
// Put some methods here.
public class SingletonClass
{
// Singleton construction goes here.
// Put some methods here.
}
}
내 응용 프로그램의 디자인에서 이것은 의미가 있지만 실제로 이것을 구현하기 전에 잠재적 인 문제점을 알아야합니다.
EDIT : 특히 타이머를 기준으로 작업을 실행하는 작업 호스트가 있습니다. 이 경우 NonSingletonClass
은 작업의 인스턴스입니다. SingletonClass
은 NonSingletonClass
에서 사용하는 데이터의 저장소이지만 NonSingletonClass
외부에서 수정할 수 있습니다. NonSingletonClass
인스턴스가 여러 개 있어도 모든 인스턴스에 대해 하나의 명령어 및 데이터 집합 만 남도록 보장하기 위해 SingletonClass
이 있습니다.
우수 참조, 'SingletonClass' 내부의 변수 인스턴스가 여전히'NonSingletonClass'의 인스턴스화 외부에 존재합니까? –
@ md5sum - 예 (15 문자) – JonH