Files
fantasize/app/doc/Class.plantuml
Simon 289c55b78c Refactoring, housekeeping, documentation
Add a class diagram. Still needs some details.
Refactor to better respect SOLID principles.
Housekeeping, move and rename classes/files.
2022-09-27 00:09:30 +02:00

72 lines
1.1 KiB
Plaintext

@startuml
interface Sensor {
+ {abstract} int Value()
}
class LMSensor {
- Identifier: string
+ int Value()
}
class GPUSensor {
+ int Value()
}
class HWMONFan {
- Identifier: string
- RPMSensor: Sensor
- PWMControl: PWMControl
+ int RPM()
+ void PWM(value: int)
}
class PWMControl {
+ void PWM(value: int)
+ int PWM()
}
class LMSensorsFacade
{
+ List<Sensor> RPMSensors()
+ List<Sensor> TemperatureSensors()
}
class GPUSensorsFacade
{
+ List<Sensor> TemperatureSensors()
}
class SensorManager
{
- LMSensorsFacade
- GPUSensorsFacade
+ List<Sensor> RPMSensors()
+ List<Sensor> TemperatureSensors()
}
class FanGenerator
{
+ FanList FindFans(List<RPMSensor>, List<PWMControl>)
}
HWMONFan -- Sensor
HWMONFan -- PWMControl
Sensor <|-- LMSensor
Sensor <|-- GPUSensor
SensorManager - Sensor
LMSensor -- LMSensorsFacade
GPUSensor -- GPUSensorsFacade
LMSensorsFacade -- SensorManager
GPUSensorsFacade -- SensorManager
FanGenerator - HWMONFan
FanGenerator - SensorManager
FanGenerator - PWMControl
@enduml