Pacchetti, una classe controller e accoppiamento vs coesione

2

Quindi sto costruendo la mia prima applicazione, in Python, e alcuni problemi sono sorti a causa della mancanza di interfacce (I.e. esplicita dichiarazione di tipo)

Il mio design coinvolge diversi pacchetti homebrew e mi è stato insegnato a ridurre l'accoppiamento utilizzando una classe controller per l'accesso ai pacchetti. Ecco un diagramma di classe incompleto - alcuni dei controller non sono ancora stati creati, ma l'intenzione è di associare tutte le classi tramite i rispettivi controller.

Il problema è che questo riduce la coesione, con l'interfaccia del controller che sostituisce i servizi forniti dalle classi. Ora il mio dilemma è:

  • Tutte le classi interessate da altri pacchetti dovrebbero essere accoppiate al controller o alle classi interne? Un mix di entrambi, o esclusivamente il controller?
  • Le altre classi non avrebbero accesso a una grande quantità di comportamenti che non dovrebbero?

Stavo pensando di utilizzare una classe factory, dietro alcuni dei metodi del controller, per restituire le istanze interne al pacchetto, ma ciò aumenterebbe l'accoppiamento.

    
posta user309290 30.06.2018 - 00:54
fonte

0 risposte

Leggi altre domande sui tag