57 lines
1.6 KiB
Plaintext
57 lines
1.6 KiB
Plaintext
|
@startuml
|
||
|
package com.iluwatar.business.delegate {
|
||
|
class App {
|
||
|
+ App()
|
||
|
+ main(args : String[]) {static}
|
||
|
}
|
||
|
class BusinessDelegate {
|
||
|
- businessService : BusinessService
|
||
|
- lookupService : BusinessLookup
|
||
|
- serviceType : ServiceType
|
||
|
+ BusinessDelegate()
|
||
|
+ doTask()
|
||
|
+ setLookupService(businessLookup : BusinessLookup)
|
||
|
+ setServiceType(serviceType : ServiceType)
|
||
|
}
|
||
|
class BusinessLookup {
|
||
|
- ejbService : EjbService
|
||
|
- jmsService : JmsService
|
||
|
+ BusinessLookup()
|
||
|
+ getBusinessService(serviceType : ServiceType) : BusinessService
|
||
|
+ setEjbService(ejbService : EjbService)
|
||
|
+ setJmsService(jmsService : JmsService)
|
||
|
}
|
||
|
interface BusinessService {
|
||
|
+ doProcessing() {abstract}
|
||
|
}
|
||
|
class Client {
|
||
|
- businessDelegate : BusinessDelegate
|
||
|
+ Client(businessDelegate : BusinessDelegate)
|
||
|
+ doTask()
|
||
|
}
|
||
|
class EjbService {
|
||
|
- LOGGER : Logger {static}
|
||
|
+ EjbService()
|
||
|
+ doProcessing()
|
||
|
}
|
||
|
class JmsService {
|
||
|
- LOGGER : Logger {static}
|
||
|
+ JmsService()
|
||
|
+ doProcessing()
|
||
|
}
|
||
|
enum ServiceType {
|
||
|
+ EJB {static}
|
||
|
+ JMS {static}
|
||
|
+ valueOf(name : String) : ServiceType {static}
|
||
|
+ values() : ServiceType[] {static}
|
||
|
}
|
||
|
}
|
||
|
BusinessLookup --> "-ejbService" EjbService
|
||
|
BusinessDelegate --> "-serviceType" ServiceType
|
||
|
Client --> "-businessDelegate" BusinessDelegate
|
||
|
BusinessDelegate --> "-businessService" BusinessService
|
||
|
BusinessDelegate --> "-lookupService" BusinessLookup
|
||
|
BusinessLookup --> "-jmsService" JmsService
|
||
|
EjbService ..|> BusinessService
|
||
|
JmsService ..|> BusinessService
|
||
|
@enduml
|