设计模式04-SOLID(I)接口隔离

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());
                    }
                }

     

posted @ 2022-05-11 10:52  后跳  阅读(49)  评论(0)    收藏  举报