의 내가하고 구성 파일을 가져 오는 클래스 A를있다. 지금 당장 내가하고있다 :의 getResource() 다른 클래스
A.class.getResource("cfgFile");
그러나 그것은 옳지 않다.
ABCfg와 같은 새로운 클래스를 만들고 리소스 경로에 cfgFile을 추가하려고했지만 최선의 방법인지 확신 할 수 없습니다.
이 작업을 수행하는 가장 좋은 방법은 무엇입니까?
읽어 주셔서 감사합니다.
의 내가하고 구성 파일을 가져 오는 클래스 A를있다. 지금 당장 내가하고있다 :의 getResource() 다른 클래스
A.class.getResource("cfgFile");
그러나 그것은 옳지 않다.
ABCfg와 같은 새로운 클래스를 만들고 리소스 경로에 cfgFile을 추가하려고했지만 최선의 방법인지 확신 할 수 없습니다.
이 작업을 수행하는 가장 좋은 방법은 무엇입니까?
읽어 주셔서 감사합니다.
구성 클래스를 만들거나 구성 데이터를 가져 오는 다른 방법을 제공해야합니다. B는 A의 구성이 어디에 있는지, 심지어 A의 구성이 필요한지에 의존하지 말아야합니다. 나는 당신이 Dependency Injection을 들여다 볼 것을 제안합니다.
예를 들어, B는 구성을 찾을 위치를 알아야 할 책임을 B가 담당하는 대신 작업을 수행해야하는 구성으로 구성 할 수 있습니다. 후자의 접근 방식은 단단히 결합 된 코드로 이어지고 테스트는 점점 어려워집니다.
A
에 새로운 정적 방법으로 getClass().getResource()
을 래핑하여 캡슐화 할 수 있습니다. 이렇게하면 호출 코드에 영향을주지 않고 구현을 나중에 변경할 수있는 유연성이 있습니다.
A
은 구성 정보를 제공하는 것 이상의 다른 책임이있는 경우이를 위해 새 클래스를 만드는 것이 좋습니다. 하지만 getResource()
콜을 캡슐화하는 것은 여전히 가치가 있습니다.