48 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
@startuml
 | 
						|
package com.iluwatar.featuretoggle.pattern {
 | 
						|
  interface Service {
 | 
						|
    + getWelcomeMessage(User) : String {abstract}
 | 
						|
    + isEnhanced() : boolean {abstract}
 | 
						|
  }
 | 
						|
}
 | 
						|
package com.iluwatar.featuretoggle.user {
 | 
						|
  class User {
 | 
						|
    - name : String
 | 
						|
    + User(name : String)
 | 
						|
    + toString() : String
 | 
						|
  }
 | 
						|
  class UserGroup {
 | 
						|
    - freeGroup : List<User> {static}
 | 
						|
    - paidGroup : List<User> {static}
 | 
						|
    + UserGroup()
 | 
						|
    + addUserToFreeGroup(user : User) {static}
 | 
						|
    + addUserToPaidGroup(user : User) {static}
 | 
						|
    + isPaid(user : User) : boolean {static}
 | 
						|
  }
 | 
						|
}
 | 
						|
package com.iluwatar.featuretoggle.pattern.tieredversion {
 | 
						|
  class TieredFeatureToggleVersion {
 | 
						|
    + TieredFeatureToggleVersion()
 | 
						|
    + getWelcomeMessage(user : User) : String
 | 
						|
    + isEnhanced() : boolean
 | 
						|
  }
 | 
						|
}
 | 
						|
package com.iluwatar.featuretoggle.pattern.propertiesversion {
 | 
						|
  class PropertiesFeatureToggleVersion {
 | 
						|
    - isEnhanced : boolean
 | 
						|
    + PropertiesFeatureToggleVersion(properties : Properties)
 | 
						|
    + getWelcomeMessage(user : User) : String
 | 
						|
    + isEnhanced() : boolean
 | 
						|
  }
 | 
						|
}
 | 
						|
package com.iluwatar.featuretoggle {
 | 
						|
  class App {
 | 
						|
    - LOGGER : Logger {static}
 | 
						|
    + App()
 | 
						|
    + main(args : String[]) {static}
 | 
						|
  }
 | 
						|
}
 | 
						|
UserGroup -->  "-freeGroup" User
 | 
						|
PropertiesFeatureToggleVersion ..|> Service 
 | 
						|
TieredFeatureToggleVersion ..|> Service 
 | 
						|
@enduml |