#89 Finished the example code

This commit is contained in:
Ilkka Seppala 2015-07-22 23:20:28 +03:00
parent 731f37723a
commit 61573e9ef2
8 changed files with 82 additions and 1 deletions

View File

@ -3,6 +3,14 @@ package com.iluwatar;
public class App {
public static void main(String[] args) {
System.out.println("Hello World!");
BusinessDelegate businessDelegate = new BusinessDelegate();
businessDelegate.setServiceType(ServiceType.EJB);
Client client = new Client(businessDelegate);
client.doTask();
businessDelegate.setServiceType(ServiceType.JMS);
client.doTask();
}
}

View File

@ -0,0 +1,17 @@
package com.iluwatar;
public class BusinessDelegate {
private BusinessLookup lookupService = new BusinessLookup();
private BusinessService businessService;
private ServiceType serviceType;
public void setServiceType(ServiceType serviceType) {
this.serviceType = serviceType;
}
public void doTask() {
businessService = lookupService.getBusinessService(serviceType);
businessService.doProcessing();
}
}

View File

@ -0,0 +1,12 @@
package com.iluwatar;
public class BusinessLookup {
public BusinessService getBusinessService(ServiceType serviceType) {
if (serviceType.equals(ServiceType.EJB)) {
return new EjbService();
} else {
return new JmsService();
}
}
}

View File

@ -0,0 +1,6 @@
package com.iluwatar;
public interface BusinessService {
void doProcessing();
}

View File

@ -0,0 +1,14 @@
package com.iluwatar;
public class Client {
private BusinessDelegate businessDelegate;
public Client(BusinessDelegate businessDelegate) {
this.businessDelegate = businessDelegate;
}
public void doTask() {
businessDelegate.doTask();
}
}

View File

@ -0,0 +1,9 @@
package com.iluwatar;
public class EjbService implements BusinessService {
@Override
public void doProcessing() {
System.out.println("EjbService is now processing");
}
}

View File

@ -0,0 +1,9 @@
package com.iluwatar;
public class JmsService implements BusinessService {
@Override
public void doProcessing() {
System.out.println("JmsService is now processing");
}
}

View File

@ -0,0 +1,6 @@
package com.iluwatar;
public enum ServiceType {
EJB, JMS;
}