Dipende dalla direzione della stabilità: come faccio a sapere cosa è più stabile?

2

In base al principio delle dipendenze stabili , la dipendenza

should be in the direction of the stability

Ma:

if you don't know what types of changes are likely, it is best to wait and see what happens as the system evolves.

Ora:

Dire che sto progettando un blog, sono tentato di pensare che il ranking di stabilità sia:

  1. Commento: meno probabilità di cambiare
  2. Post
  3. Utente - più probabile che cambi (perché è più grande?)

Se lascio che i commenti dipendano da Post, il commento cambierà più probabilmente. Ma viceversa, se lascio Post dipenda da Comment, Post cambierà più probabilmente, corretto?

Questo vuole essere un argomento generale, ogni app ha una gerarchia simile agli utenti, a un oggetto principale e ai bambini.

Qual è la mia migliore scommessa per il cambiamento? classi di livello superiore o livello inferiore? E perché?

    
posta ecoologic 23.07.2015 - 15:06
fonte

2 risposte

5

Non si tratta di ciò che è più probabile che cambi, è la difficoltà di cambiarlo.

Il documento che hai collegato lo spiega piuttosto bene:

"Stable" roughly means "hard to change", whereas "instable" means "easy to change".

Il concetto può essere pensato meglio come livelli di software, potrebbe essere facile cambiare un'interfaccia utente, ma è molto più difficile cambiare l'API che chiama, e ancora più difficile cambiare il DB su cui è basato. Il DB è la parte stabile lì.

Per altri sistemi, potrebbe essere davvero difficile cambiare l'interfaccia utente (ad esempio, un'applicazione desktop lanciata a 10.000 utenti remoti) nel qual caso diventa più stabile.

    
risposta data 23.07.2015 - 15:10
fonte
0

Ho trovato un buon aiuto in questo discorso di Sandi Metz, uno dei miei idoli, Meno il percorso per migliorare la progettazione .

Alle 16:05 il principio delle dipendenze stabili emerge nel contesto a cui sono interessato, il design di classe. Il suo punto è "non puoi saperlo", quindi abbraccia l'incertezza. È una bella chiacchierata.

Quindi sono andato avanti e ho controllato gli zangoli di alcune delle app che attualmente gestisco e sembra che l'ordine sia quello indicato nella mia domanda.

Tuttavia, potrebbe essere il modo in cui siamo abituati a gestire la direzione, nel bene e nel male. Invertire la direzione probabilmente produrrà gli effetti opposti.

    
risposta data 27.07.2015 - 17:21
fonte

Leggi altre domande sui tag