현재 C 라이브러리를 Java로 이식 중입니다. C 라이브러리는 외부 장치에 연결하고 장치를 구성하고 데이터를 수신하는 기능을 제공합니다. 내 디자인의 핵심은 장치에 대한 연결을 캡슐화하고 JNA를 사용하여 생성 된 하위 수준의 C API 매핑을 제공하는 Connection
클래스입니다.싱글 톤 패턴, 구성 및 종속성 삽입
대부분의 C 라이브러리는 OO-World of Java (100 개 이상의 함수가 포함 된 단일 헤더 라이브러리)로 잘 변환되지 않으므로 대부분의 기능에 대한 액세스를 제공하는 몇 가지 "Manager"클래스가 있습니다.
C 라이브러리는 하나의 모든 리소스 (구성, 데이터 버퍼 등) 만 관리하므로 이러한 클래스 중 둘 이상을 만드는 것은 의미가 없습니다. 그래서 내 Java 클래스에 대한 Singleton 패턴을 구현하고 싶습니다. (실제로는 새로운 Java 라이브러리의 사용자에게 전체 시스템에 하나의 Manager 객체 만 있음을 알립니다.)
또한 외부 구성 파일을 사용하여 이러한 Manager 클래스를 구성 할 수 있기를 원합니다. 이전에 구성 유틸리티를 구현 한 적이 없으므로 어디에 놓을 지 실제로 알지 못합니다.
마지막으로 내 모든 Manager 클래스에는 Connection
개체에 대한 참조가 필요합니다.
Connection
객체 주사 설정 파일- (싱글 톤 패턴) :
그래서 난 날 수있는 디자인이 필요합니다
아이디어가 있으십니까?
실제로 다른 개체에 주입되는 연결에 대해 말하고 있었지만 setter injection을 사용할 수도 있습니다. 구성 (설계 방식)은 어디에 두겠습니까? –
아마도 구성 파일을 읽고 그것을 어떤 종류의 데이터 구조로 파싱하는 구성 클래스 일 것입니다. –
그리고 public getters와 setters를 사용하여 객체를 구성 하시겠습니까? –