2006/04/21 21:33 Developer
Service Locator
장점
-. 클라이언트는 복잡한 JNDI Lookup 로직을 알지 않아도 됩니다.
-. 클라이언트의 JNDI Lookup 코드가 없어지므로, 클라이언트 코드가 간결해져서 유지보수가 쉬워집니다.
-. JNDI Lookup에 대한 코드중복이 없어지고, 통제를 한 곳에서 수행하므로 코드 복잡성이 줄고 유지보수가 쉬워집니다.
-. 비즈니스 서비스 객체를 새롭게 추가하는 것이 쉬워집니다.
-. 모든 JDNI의 사용과 홈객체 lookup,EJB 객체를 재사용할 수 있습니다.
-. 객체를 cache하여 사용함으로써 클라이언트 및 네트워크 성능 향상을 가져옵니다.
단점
-. singleton으로 정의된 service locator가 부족해서, 성능에 영향을 줄 수도 있습니다. 이 경우, JVM또는 class loader별로 service locator를 따로 생성해서 사용해야 합니다.
정리
- service locator는 비즈니스 서비스를 제공하는 객체를 찾고, 생성하는 역할을 합니다.
- service localtor는 서비스를 찾고, 생성하는 복잡한 로직을 추상화시켜서 이를 클라이언트로부터 분리하여 business layer에 포함시킵니다. 이로 인해 클라이언트 코드가 간단해지고 중복이 없어집니다
- service locator는 성능향상을 위해 initial context 및 service factory등을 cache합니다
-. 클라이언트는 복잡한 JNDI Lookup 로직을 알지 않아도 됩니다.
-. 클라이언트의 JNDI Lookup 코드가 없어지므로, 클라이언트 코드가 간결해져서 유지보수가 쉬워집니다.
-. JNDI Lookup에 대한 코드중복이 없어지고, 통제를 한 곳에서 수행하므로 코드 복잡성이 줄고 유지보수가 쉬워집니다.
-. 비즈니스 서비스 객체를 새롭게 추가하는 것이 쉬워집니다.
-. 모든 JDNI의 사용과 홈객체 lookup,EJB 객체를 재사용할 수 있습니다.
-. 객체를 cache하여 사용함으로써 클라이언트 및 네트워크 성능 향상을 가져옵니다.
단점
-. singleton으로 정의된 service locator가 부족해서, 성능에 영향을 줄 수도 있습니다. 이 경우, JVM또는 class loader별로 service locator를 따로 생성해서 사용해야 합니다.
정리
- service locator는 비즈니스 서비스를 제공하는 객체를 찾고, 생성하는 역할을 합니다.
- service localtor는 서비스를 찾고, 생성하는 복잡한 로직을 추상화시켜서 이를 클라이언트로부터 분리하여 business layer에 포함시킵니다. 이로 인해 클라이언트 코드가 간단해지고 중복이 없어집니다
- service locator는 성능향상을 위해 initial context 및 service factory등을 cache합니다
TAG pattern