Il miglioramento progressivo di solito si riferisce ai contenuti web e l'idea di avere una pagina leggibile prima che sia completamente funzionante.
Sono improvvisamente preoccupato dell'idea che non posso migliorare progressivamente il mio codice. Voglio essere in grado di aggiungere metodi ai miei valori. Potrei avere una proprietà stringa. Se voglio migliorarlo con un metodo IsValid (), non ho modo di farlo senza cambiare il chiamante.
Da un lato, questo sembra inevitabile. Avevo una stringa. Ora ho un oggetto con una stringa "value" e alcuni metodi. È un tipo completamente diverso, e devo chiamarlo in modo diverso.
Ma la realtà che sto modellando non è cambiata. Sono appena arrivato ad aggiungere IsValid (). Perché i chiamanti esistenti che vogliono solo il valore (e non si preoccupano della validità) devono adattarsi? C # ha la nozione di proprietà predefinite, dove, è possibile indirizzare una proprietà di raccolta solo fornendo la classe contenente e l'indice. Quindi è possibile modificare una lista in SomeClassWithAListInside senza la cura del chiamante. Perché non ci può essere equivalente per altri tipi di proprietà? Altre lingue trattano in modo diverso?