질문 배경 : 내가 만드는 오전 일부 폴더의 이름을 무작위로 생성 된 번호를 추가 할 필요가 - - 두 개의 클래스에서 사용정적 '무작위'싱글 톤 인스턴스를 올바르게 공유하는 방법?
나는 현재 내 코드에서 '랜덤'숫자 인스턴스의 몇 가지있다. 이 경우 파일을 새 폴더에 매핑하면 작업이 즉시 완료됩니다.
코드 :
내가 언급 한 각 클래스에 다음 코드 두 개인 정적 인스턴스가 있습니다
private static randomNo = new Random((int)DateTime.Now.Ticks);
싱글을? 또는 두 개의 정적 인스턴스? :
지금까지 중복 문제가 없었습니다. 나는 여전히 전체 솔루션에서 단일 정적 난수 객체 인스턴스를 공유하기 위해 싱글 톤을 개발해야한다고 생각한다.
IoC (Unity)를 사용하여 모든 클래스를 만들고 정적 랜덤 인스턴스를 처리하는 방법을 모르십니까? 내가 필요로하는 각 클래스에서 싱글 톤 클래스를 '새로'사용할 수 있습니까? 아니면 정적 임의 인스턴스가 다시 설정됩니까? 하나의 싱글 톤 클래스를 생성하고 임의로 생성 된 클래스를 필요로하는 클래스간에 전달해야합니까?
새 폴더 이름을 임의의 숫자로 추가 할 때 그 이름이 이미 존재하지 않는지 확인하기 위해 확인을해야한다는 것을 언급해야합니다.
잠재적 인 문제는 분명하지 않습니다. 당신은 복제에 대해 이야기합니다. 다른 발전기가 동일한 번호를 생성 할 수 있다는 것을 의미합니까? 하나의 단일 발전기는 같은 번호를 두 번 연속 생성 할 수도 있습니다. – GolezTrol
@GolezTrol 내가 아는 것이 내가 지금 가지고있는 것처럼 두 개의 개인 정적 변수를 사용할 수 있겠는가? 또는 싱글 톤을 구현하는 것이 가장 좋습니다. 클래스간에 단일 Singleton 인스턴스를 전달해야하는지 궁금합니다. – user1352057
싱글 톤도 함께 전달할 수 있습니다. 장점은 응용 프로그램이 싱글 톤이라는 사실에 크게 의존하지 않는다는 것입니다.응용 프로그램의 모든 곳에서 싱글 톤을 호출하면 리팩터링하는 것이 더 많은 작업이 될 것입니다. 다른 한편으로, 언제 당신이 그것을 바꿀 필요가 있고 얼마나 많은 전화가있을 것인가 ... – GolezTrol