2014-05-21 2 views
0

기본적으로 독립형 제품을 SaaS 애플리케이션으로 변환하는 프로젝트를 진행 중입니다. 현재 프로젝트에는 싱글 톤 클래스가 거의 없습니다.세션에서 사용자 특정 싱글 톤 삽입하기

이제 내 쿼리

는 SaaS는, 동일한 응용 프로그램에 액세스하는 다른 고객에 따라 여러 사용자가있을 것입니다. 싱글 톤 클래스는 각 사용자에 대해 고객 고유 일 필요가 있습니다.

예 : 특정 회사의 사용자를위한 LicenseManager 클래스 A는 LicenseManager의 singleton 클래스 인스턴스 class1을 가져야하며 다른 회사의 사용자는 B 회사가 singleton 인스턴스 class2를 가져야한다고 말합니다. 마찬가지로 특정 회사의 사용자를위한 싱글 톤 DBManager 클래스 인스턴스는 회사마다 고유해야합니다.

스프링 또는 다른 프레임 워크를 사용할 수 있습니까? 부모 세션과 그 부모 세션 아래에 하위 세션과 같은 것을 가질 수 있습니까?

+0

"정적 클래스"같은 것은 없습니다. 정적 내부 클래스가 있지만 다른 점입니다. 너 뭐하려고? – Kayaman

+0

내가 수정했는지 확인하십시오 –

+0

이것은 매우 광범위합니다. 사용중인 기술과 현재 아키텍처에 따라 다릅니다. 말할 수있는 유일한 것은 싱글 톤을 다른 것으로 변환해야한다는 것입니다. – Kayaman

답변

1

다음은 제 제안입니다. 이것들을 토대로 적절한 해결책을 찾을 수 있습니다.

  1. 이러한 클래스를 비 정적으로 변환하십시오. 일부 고객은 이 클래스의 인스턴스를 생성하기위한 로직을 각 고객에 대한 추상 팩토리를 사용하도록 설정하십시오. 각 고객에게 해당 인스턴스를 사용하십시오.
  2. 이러한 클래스를 추상으로 변환하십시오. 각각의 고객 유형이 인 어린이 수업을 준비하십시오. Factory 메서드를 사용하여 적절한 자식 클래스 인 을 인스턴스화합니다. Spring framework에 있다면 의존성 삽입을 사용할 수있다.
  3. 이러한 클래스는 정적으로 유지하십시오. 구성 (구성원 변수) 논리를 구성 유틸리티로 이동하십시오. 여기서 은 적절한 구성을 고객의 기반 정적 클래스로 리턴해야합니다.
+0

감사합니다 그것을 밖으로 시도 할 것이다! –