Sto usando una classe attraverso una dll a cui non ho il controllo diretto. Quindi, in effetti, sono solo un cliente di questa classe.
La classe rappresenta un modulo che può essere stampato, inviato ai client e monitorato nel sistema. Devo calcolare due tipi di date dopo le quali, se il modulo viene ricevuto, viene considerato tardivo.
Invece di calcolare semplicemente le date tardive nel metodo in cui sto già gestendo il modulo, voglio estrarre l'algoritmo per calcolare le date scadute in una classe separata in quanto è complicato e può essere soggetto a modifiche per ragioni amministrative.
Poiché non posso modificare la classe originale. Ho trovato queste possibili soluzioni:
(Per riferimento il codice è in C # 4 / .Net 4.)
A- Creare una classe FormLateDateCalculator con metodi per restituire una data tardiva per un determinato modulo.
B- Crea una classe FormLateDate che accetta un modulo nel suo costruttore e ha una proprietà per ogni tipo di data tardiva.
C- Creare due metodi di estensione nella classe Form che calcolano le date ritardate.
Mentre tutti e tre questi metodi funzionano (e sono sicuro che ce ne sono altri), mi piacerebbe sapere quale è il migliore per quanto riguarda la progettazione orientata agli oggetti e perché?