Java:
// Service Interface
public interface MyService {
void execute();
}
// Service Implementation
public class MyServiceImpl implements MyService {
public void execute() {
System.out.println("Executing service...");
}
}
// Service Locator
public class ServiceLocator {
private static final Map<Class<?>, Object> services = new HashMap<>();
public static <T> void registerService(Class<T> serviceInterface, T serviceImpl) {
services.put(serviceInterface, serviceImpl);
}
public static <T> T getService(Class<T> serviceInterface) {
return serviceInterface.cast(services.get(serviceInterface));
}
}
// Usage
public class Main {
public static void main(String[] args) {
// Register service
ServiceLocator.registerService(MyService.class, new MyServiceImpl());
// Retrieve service
MyService myService = ServiceLocator.getService(MyService.class);
myService.execute();
}
}