Sto lavorando su un sistema per configurare l'hardware. Sfortunatamente, ci sono tonnellate di varietà nell'hardware, il che significa che c'è una vasta gamma di funzionalità e configurazioni a seconda di quale hardware specifico a cui il software si connette.
Per far fronte a questo, stiamo usando un progetto di Entità Componente in cui la classe "hardware" è di per sé un contenitore molto sottile per componenti che sono composti in fase di esecuzione in base a quali funzionalità / configurazione sono disponibili. Funziona alla grande, e il design stesso ha funzionato bene altrove (in particolare nei giochi).
Il problema è che tutti questo software fa è configurare l'hardware. In quanto tale, quasi tutti del codice è un componente dell'istanza dell'hardware. Mentre il consumatore lavora sempre contro le interfacce strongmente tipizzate per i componenti, si potrebbe sostenere che la classe che rappresenta un'istanza dell'hardware è un oggetto divino.
Se vuoi fare qualcosa con / con l'hardware, puoi interrogare un'interfaccia e lavorarci.
Quindi, anche se i componenti di un oggetto sono modulari e disaccoppiati bene, il loro contenitore è un oggetto di Dio e gli svantaggi associati all'anti-pattern?