77 lines
3.8 KiB
Plaintext
77 lines
3.8 KiB
Plaintext
@startuml
|
|
'https://plantuml.com/class-diagram
|
|
|
|
namespace NaturallyColorModels {
|
|
class CyanMagentaYellowKey
|
|
class HueSaturationValue
|
|
class RedGreenBlue
|
|
}
|
|
|
|
namespace ColorModels {
|
|
abstract AbstractColorModel
|
|
class CyanMagentaYellowKey
|
|
class HueSaturationValue
|
|
class RedGreenBlue
|
|
CyanMagentaYellowKey --|> AbstractColorModel
|
|
HueSaturationValue --|> AbstractColorModel
|
|
RedGreenBlue --|> AbstractColorModel
|
|
}
|
|
NaturallyColorModels.CyanMagentaYellowKey o-- ColorModels.CyanMagentaYellowKey
|
|
NaturallyColorModels.HueSaturationValue o-- ColorModels.HueSaturationValue
|
|
NaturallyColorModels.RedGreenBlue o-- ColorModels.RedGreenBlue
|
|
|
|
namespace NaturallyTransformer {
|
|
interface ColorModelTransformInterface {
|
|
+ toRedGreenBlue(): NaturallyColorModels.RedGreenBlue
|
|
+ toCyanMagentaYellowKey(): NaturallyColorModels.CyanMagentaYellowKey
|
|
+ toHueSaturationValue(): NaturallyColorModels.HueSaturationValue
|
|
}
|
|
class CyanMagentaYellowKeyTransformer
|
|
class HueSaturationValueTransformer
|
|
class RedGreenBlueTransformer
|
|
|
|
NaturallyTransformer.ColorModelTransformInterface o-- Transformer.ColorModelTransformInterface
|
|
|
|
NaturallyTransformer.ColorModelTransformInterface <|-- NaturallyTransformer.CyanMagentaYellowKeyTransformer
|
|
NaturallyTransformer.ColorModelTransformInterface <|-- NaturallyTransformer.HueSaturationValueTransformer
|
|
NaturallyTransformer.ColorModelTransformInterface <|-- NaturallyTransformer.RedGreenBlueTransformer
|
|
NaturallyTransformer.RedGreenBlueTransformer o-- NaturallyColorModels.RedGreenBlue
|
|
NaturallyTransformer.CyanMagentaYellowKeyTransformer o-- NaturallyColorModels.CyanMagentaYellowKey
|
|
NaturallyTransformer.HueSaturationValueTransformer o-- NaturallyColorModels.HueSaturationValue
|
|
}
|
|
|
|
namespace Transformer {
|
|
interface ColorModelTransformInterface {
|
|
+ toRedGreenBlue(): ColorModels.RedGreenBlue
|
|
+ toCyanMagentaYellowKey(): ColorModels.CyanMagentaYellowKey
|
|
+ toHueSaturationValue(): ColorModels.HueSaturationValue
|
|
}
|
|
class CyanMagentaYellowKeyTransformer
|
|
class HueSaturationValueTransformer
|
|
class RedGreenBlueTransformer
|
|
Transformer.ColorModelTransformInterface <|-- Transformer.CyanMagentaYellowKeyTransformer
|
|
Transformer.ColorModelTransformInterface <|-- Transformer.HueSaturationValueTransformer
|
|
Transformer.ColorModelTransformInterface <|-- Transformer.RedGreenBlueTransformer
|
|
namespace Utilities {
|
|
abstract AbstractHueSaturationValueToUtility
|
|
class CyanMagentaYellowKeyToHueSaturationValue
|
|
class HueSaturationValueToCyanMagentaYellowKey
|
|
class HueSaturationValueToRedGreenBlue
|
|
class RedGreenBlueToHueSaturationValue
|
|
Transformer.Utilities.CyanMagentaYellowKeyToHueSaturationValue --|> Transformer.Utilities.AbstractHueSaturationValueToUtility
|
|
Transformer.Utilities.HueSaturationValueToCyanMagentaYellowKey --|> Transformer.Utilities.AbstractHueSaturationValueToUtility
|
|
Transformer.Utilities.HueSaturationValueToRedGreenBlue --|> Transformer.Utilities.AbstractHueSaturationValueToUtility
|
|
Transformer.Utilities.RedGreenBlueToHueSaturationValue --|> Transformer.Utilities.AbstractHueSaturationValueToUtility
|
|
}
|
|
CyanMagentaYellowKeyTransformer o-- Transformer.Utilities.CyanMagentaYellowKeyToHueSaturationValue
|
|
CyanMagentaYellowKeyTransformer o-- Transformer.Utilities.HueSaturationValueToRedGreenBlue
|
|
|
|
HueSaturationValueTransformer o-- Transformer.Utilities.HueSaturationValueToRedGreenBlue
|
|
HueSaturationValueTransformer o-- Transformer.Utilities.HueSaturationValueToCyanMagentaYellowKey
|
|
|
|
RedGreenBlueTransformer o-- Transformer.Utilities.RedGreenBlueToHueSaturationValue
|
|
RedGreenBlueTransformer o-- Transformer.Utilities.HueSaturationValueToCyanMagentaYellowKey
|
|
}
|
|
ColorModels.AbstractColorModel --o Transformer.ColorModelTransformInterface
|
|
|
|
@enduml |