Софтуерно Инженерство
Loading...
VenelinGrozev avatar VenelinGrozev 130 Точки

[Technical Issue] Using NULL objects

Use null objects instead of testing for nulls

Това е в лекцията по Refactoring в слайд 35 - някой би ли го разяснил по-подробно? Аз си го превеждам като да си инициализираш празен List<T>() (примерно) в началото на метода вместо да тестваш дали параметъра, който се подава е NULL.

 

Тагове:
0
C# OOP Advanced
a_rusenov avatar a_rusenov 1103 Точки
Best Answer

Точно така - има се предвид да имаш някакъв fallback вариант, в случай че ти се подаде null. Както сам каза, идеята е да си спестиш проверки за null и потенциални ексепшъни, като работиш през празен (но не null) обект. Обикновено тези дефолтни обекти имплементират Singleton патърна (т.е. имат само една инстанция, както е и логично).

Вземи например string.Empty - връща ти празен стринг и можеш да му ползваш .Substring(), .IndexOf() и т.н. без да се притесняваш, че ще ти хвърли NullReferenceException.

3