응용 프로그램에서 사용되는 라이브러리 (Maven 아티팩트)로 작업하고 있습니다. 현재 상황에서는 라이브러리가 정적 클래스를 사용하여 작업 할 수 있습니다. 따라서이 라이브러리에서는 "하나의 인스턴스"작업 모드 만 허용됩니다. 작업을 시작할 때 Configuration
개체를이 주 클래스에 제공해야합니다. 이 구성 객체의 MainClass.start(new Configuration())
및 이후 버전은 싱글 톤 팩토리를 통해 다른 클래스에서 액세스합니다.싱글 톤을 사용하지 않는 클래스간에 데이터를 공유하는 방법
내 문제는 현재 다중 인스턴스 모드를 허용해야하는 방식으로 라이브러리를 변경해야한다는 것입니다. 따라서 MainClass
에는 더 이상 정적 메서드가 없으므로 인스턴스화해야합니다. 내가 비틀 거리는 것은 다른 클래스의 인스턴스 (MainClass의 현재 인스턴스와 함께 사용되는 인스턴스)가 MainClass의 인스턴스에 직접 액세스 할 수없는 방식으로 각 인스턴스에 고유 한 Configuration
을 제공하는 방법입니다. 물론이 시나리오에서는 두 개 이상의 MainClass
인스턴스가 각각의 구성을 가져야하기 때문에 Singleton은 해결책이 아닙니다.
MainClass를 인스턴스화하면 다른 인스턴스를 인스턴스화하거나 매개 변수로 구성을 전달할 수 있다고 생각합니다. –
@HankLapidez 어쩌면 제가 질문을 좀 더 확장해야합니다 - 예, 일부 객체는 MainClass 생성자 내에서 인스턴스화 될 수 있지만 일부는 인스턴스화됩니다. 특정 이벤트에만 해당되며 MainClass에서는 인스턴스화되지 않지만 다른 클래스에서는 인스턴스화되지 않습니다. 그것은 내가 고려하고있는 백업 방법이지만 Configuration 오브젝트를 도처에 통과시키는 순수한 통증 일 것이다. 그러나 나는 그것을 다루는 다른 (어쩌면 더 쉽거나 더 적절한) 방법을 찾고있다. – AlexKey