ক্লায়েন্টদের এমন ইন্টারফেসের উপর নির্ভর করতে বাধ্য করা উচিত নয় যা তারা ব্যবহার করে না।
ইন্টারফেস সেগ্রিগেশন প্রিন্সিপল বলে যে ক্লায়েন্টদের এমন ইন্টারফেস প্রয়োগ করতে বাধ্য করা উচিত নয় যা তারা ব্যবহার করে না।
একটি ফ্যাট ইন্টারফেসের পরিবর্তে অনেকগুলি ছোট ইন্টারফেস পদ্ধতির গ্রুপের উপর ভিত্তি করে পছন্দ করা হয়, প্রতিটি একটি সাবমডিউল পরিবেশন করে
ইন্টারফেস বিভাজনের আগে
উদাহরণ
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; } }