1. 程式人生 > 其它 >設計模式03-介面隔離(介面保持最小單位)

設計模式03-介面隔離(介面保持最小單位)

Interface Segregation: 介面隔離

  • 單一職能和介面隔離感覺上十分相似,都使用了最小化原則。(介面保持最小單位,然後可以使用繼承進行拓展)
  • 以下例子是印表機功能,新的印表機可以有多個功能,單是老的列印只能列印,此時我們就應該把列印介面單獨隔離
  • class Document
                {
    
                }
                interface IPrint
                {
                    void Print(Document d);
                }
                interface IBetterPrint: IPrint
                {
                   
    // void Print(Document d); void Copy(Document d); void Fex(Document d); void Email(Document d); } // 新式印表機 class NewPrint : IBetterPrint { public void Copy(Document d) { }
    public void Email(Document d) { } public void Fex(Document d) { } public void Print(Document d) { } }
    // 老式印表機 class OldPrint : IPrint//IBetterPrint { public void Copy(Document d) { throw new NotImplementedException(); } public void Email(Document d) { throw new NotImplementedException(); } public void Fex(Document d) { throw new NotImplementedException(); } public void Print(Document d) { Console.WriteLine(d.ToString()); } }