Sto costruendo un sistema gps per unità flotta e attualmente e ho bisogno di capire come collegare i miei oggetti.
Ecco lo scenario:
- Ogni unità flotta potrebbe aver collegato uno o più dispositivi gps.
- Ogni unità flotta può avere uno o più motori.
- Il motore di ogni unità di flotta può avere uno o due misuratori di portata del carburante collegati a uno o due dispositivi GPS. A seconda del tipo di motore, il flussometro del carburante può gestire sia il carburante in avanti che il carburante all'indietro, ma a volte ci devono essere due diversi misuratori di portata del carburante, uno per il carburante in avanti e uno per il carburante all'indietro. Ciò che lo rende ancora peggio è che alcuni modelli di dispositivi GPS hanno ingressi per entrambi i misuratori di portata del carburante ma altri no, quindi quando sono necessari due misuratori di portata di carburante è necessario montare due diversi dispositivi GPS.
Quindi, se ho i seguenti oggetti:
FleetUnit
, GpsDevice
, Engine
, FuelFlowMeter
Voglio trovare un modo per collegarli senza avere una dipendenza circolare.
Se l'oggetto FleetUnit
ha una lista di GpsDevice
oggetti e un elenco di Engine
oggetti e GpsDevice
oggetto ha un elenco di FuelFlowMeter
e FuelFlowMeter
ha riferimento a un GpsDevice
oggetto e Engine
object, penso che ci siano troppe dipendenze circolari e il design non è pulito.
Puoi suggerirmi come gestire questo scenario in cui pochi oggetti si comportano come un grafico?