ग्राहकों को उन इंटरफेस पर निर्भर होने के लिए मजबूर नहीं किया जाना चाहिए जिनका वे उपयोग नहीं करते हैं।
इंटरफ़ेस पृथक्करण सिद्धांत कहता है कि क्लाइंट को उन इंटरफ़ेस को लागू करने के लिए बाध्य नहीं किया जाना चाहिए जिनका वे उपयोग नहीं करते हैं।
एक मोटे इंटरफेस के बजाय कई छोटे इंटरफेस को तरीकों के समूहों के आधार पर पसंद किया जाता है, प्रत्येक एक सबमॉड्यूल की सेवा करता है
इंटरफ़ेस अलगाव से पहले
उदाहरण
public interface IProduct { int ID { get; set; } double Weight { get; set; } int Stock { get; set; } int Inseam { get; set; } int WaistSize { get; set; } } public class Jeans : IProduct { public int ID { get; set; } public double Weight { get; set; } public int Stock { get; set; } public int Inseam { get; set; } public int WaistSize { get; set; } } public class BaseballCap : IProduct { public int ID { get; set; } public double Weight { get; set; } public int Stock { get; set; } public int Inseam { get; set; } public int WaistSize { get; set; } public int HatSize { get; set; } }
इंटरफ़ेस अलगाव के बाद
उदाहरण
public interface IProduct { int ID { get; set; } double Weight { get; set; } int Stock { get; set; } } public interface IPants { int Inseam { get; set; } int WaistSize { get; set; } } public interface IHat { int HatSize { get; set; } } public class Jeans : IProduct, IPants { public int ID { get; set; } public double Weight { get; set; } public int Stock { get; set; } public int Inseam { get; set; } public int WaistSize { get; set; } } public class BaseballCap : IProduct, IHat { public int ID { get; set; } public double Weight { get; set; } public int Stock { get; set; } public int HatSize { get; set; } }