Acest design pattern ar trebui sa ne ajute pentru a elimina sau cel putin sa reducem numarul de verificare de genul: If( obj != null ) { //Ceva cod. } Pentru a putea folosi acest design pattern este nevoie sa declaram o instanta a unui obiect( sau o clasa) care sa joace rolul obiectului care reprezinta valorea null. Exista doua varinte de implementare, de la caz la caz se poate folosi una din ele. In prima varianta se foloseste o instanta a clasei care joaca rolul de valoarea NULL. Aceasta este oferita dezvoltatorului prin intermediul unei propietati statice. public class Car { public static readonly Car NullObj; static Car { NullObj = new Car(); //Setare valori, propietati cu valori default. } } Deoarece am declarat field-ul ca fiind read-only, setarea acestuia se va putea face doar in constructor. Codul pe care o sa il folosim acuma o sa fie asemanator cu: if( car == Car.NullObj ) { //Executa ceva } In cazul in care vrem sa apelam metode sau ...
DREAMER, CRAFTER, TECHNOLOGY ENTHUSIAST, SPEAKER, TRAINER, AZURE MVP, SOLVING HARD BUSINESS PROBLEMS WITH CUTTING-EDGE TECHNOLOGY