अशक्त वस्तु पैटर्न हमें जहाँ भी संभव हो, अशक्त जाँच से बचने के लिए एक स्वच्छ कोड लिखने में मदद करता है। नल ऑब्जेक्ट पैटर्न का उपयोग करते हुए, कॉल करने वालों को परवाह नहीं है कि उनके पास एक अशक्त वस्तु है या एक वास्तविक वस्तु है। प्रत्येक परिदृश्य में अशक्त वस्तु पैटर्न को लागू करना संभव नहीं है। कभी-कभी, यह एक अशक्त संदर्भ लौटाने और कुछ अशक्त जाँच करने की संभावना रखता है।
उदाहरण
static class Program{ static void Main(string[] args){ Console.ReadLine(); } public static IShape GetMobileByName(string mobileName){ IShape mobile = NullShape.Instance; switch (mobileName){ case "square": mobile = new Square(); break; case "rectangle": mobile = new Rectangle(); break; } return mobile; } } public interface IShape { void Draw(); } public class Square : IShape { public void Draw() { throw new NotImplementedException(); } } public class Rectangle : IShape { public void Draw() { throw new NotImplementedException(); } } public class NullShape : IShape { private static NullShape _instance; private NullShape(){ } public static NullShape Instance { get { if (_instance == null) return new NullShape(); return _instance; } } public void Draw() { } }