0
点赞
收藏
分享

微信扫一扫

C# 接口与工厂

陬者 2022-02-21 阅读 135


针对接口编程能帮助达到面向对象开发和设计中"低耦合"的要求.  

      举个例子:某公司有一台特殊打印机,还可以使用一年,一年后可能换为另一种打印机,这两种打印机都特殊而贵.所以现在的程序希望换了打印机后也少量修改就可用.  

    方法:  

    1,定义一个打印机接口.  

    2,定义打印机类A,B,分别实现此接口.  

    3,定义一个工厂类,在类中可选择返回由A实现的接口,或者由B实现的接口.  

    4,在程序中使用打印机时,就可以使用工厂类来调用打印机,而不需要知道具体的是什么打印机.  

        如果打印机换了,只需要修改工厂类就行了.如果有一千个地方都调用过打印机,就不需要一个一个修改.修改一个地方就行了.接口充当一个隔离层的作用.  


    在面向对象的设计中,接口的作用非常重要,

//定义打印机接口 

  interface     Iprint...{ 

      bool     PrintData(string     data); 

    } 


  //定义打印机类A,实现接口 

  class     PrintA:Iprint...{ 

      public   virtual   bool     PrintData(string     data)...{ 

          //具体业务逻辑略 

        } 

    } 


    定义打印机类B,实现接口 

  class     PrintB:Iprint...{ 

      public   virtual   bool     PrintData(string     data)...{ 

          //具体业务逻辑略 

        } 

    } 


  //定义工厂类 

  class     PrintFactory...{ 

      public     Iprint     CreatePrint()...{ 

        //返回一个由打机类A,或B实现的接口,比如 

          return   new     PrintA(); 

        } 

    } 


  //通过工厂类,调用打印机 

  private   void     button1_Click(object     sender,EventArgs     e)...{ 

        PrintFactory     myFactory=new     PrintFactory(); 

        Iprint     myPrint=myFactory.CreatePrint(); 

        myPrint.PrintData("这样做很方便啊"); 

    }  


所以使用接口,最好创建工厂


举报

相关推荐

0 条评论