deficiențe
- Pentru refuzul de declarații condiționale veți plăti o altă nouă clasă.
ordinea refactoring
De te interesează clasa, de a crea o subclasă, care va servi ca un Null-obiect.
In ambele clase, a crea metoda isnull (). care va reveni valabil pentru Null-obiect, și fals pentru clasa reală.
Găsiți toate locurile în care codul poate returna null în locul obiectului real. Modificați codul astfel încât acesta returnează Null-obiect.
Găsiți toate locurile în care variabilele de clasă reale sunt comparate cu null. Înlocuiți aceste verificări prin apelarea isnull ().
- Dacă aceste declarații condiționale la o valoare nu metode de rulare nule ale clasei originale, suprascrie aceste metode în Null-clasă și inserați codul din partea else a condițiilor. După aceea, o instrucțiune condițională poate fi elimina complet, iar comportamentul va fi diferit din cauza polimorfismului.
- Dacă nu este atât de simplu, și metode de a trece peste nu funcționează, a se vedea dacă puteți selecta pur și simplu operațiunile care trebuie efectuate în cazul în care valoarea este nulă în noile metode de Null-obiect. Aceste metode în loc de vechiul cod în else ca operațiunea implicită.
![Introducere null-obiect (valoarea este nulă) Introducere null-obiect](https://images-on-off.com/images/45/vvedenienullobekta-84896a38.png)
Fudzâț perna, avem de conținut, timp de 7 ore de lectură.
Sau încercați cursul nostru interactiv. Este mult mai interesant decât versurile banale.