Refactoring dio-classe porta all'invidia caratteristica [chiusa]

1

Sto cercando di ridefinire una classe di dio da 2,5 KLOC (con circa 68 membri dati e 62 funzioni membro) che esegue un'ampia varietà di operazioni di formattazione e layout del testo. Dopo un'attenta analisi basata su:

  1. Quale funzione membro fa riferimento a quali membri dati e,
  2. Le sotto-attività di formattazione logica

Ho partizionato i membri dei dati e le funzioni dei membri in 9 classi. Il problema ora è che la maggior parte di queste classi più piccole sta raggiungendo ripetutamente i dati detenuti da altre classi (l'invidia delle caratteristiche classiche). Che tipo di refactoring sarebbe consigliabile in questa situazione?

Probabilmente non ha importanza se lo fa, sto programmando in C ++.

    
posta Olumide 24.10.2017 - 11:50
fonte

1 risposta

2

Ci sono alcune cose che potrebbero accadere che hanno soluzioni diverse a seconda dei dati che vengono incrociati e di come sono usati in ogni classe.

  1. È necessario un oggetto dati migliore per passare a ogni nuovo oggetto che contiene tutte le informazioni, se questi sono valori primitivi che altri oggetti non devono manipolare per essere utilizzabili.
  2. È necessario un oggetto comune per ereditare da quello che gestisce i valori comuni, anche questo sarebbe valido solo per i riferimenti di sola lettura.
  3. Hai una scarsa astrazione e le classi devono essere modellate in modo diverso in modo che tutti i dati necessari si trovino nello stesso oggetto.
  4. Hai una logica aziendale o oggetti che non sono correttamente isolati.
risposta data 24.10.2017 - 15:31
fonte

Leggi altre domande sui tag