美文网首页
面向对象设计原则-Single Responsbility

面向对象设计原则-Single Responsbility

作者: Wu杰语 | 来源:发表于2020-11-18 19:11 被阅读0次

    我们经常看到一个函数非常长,或者一个类非常臃肿,这是时候就可以用单一职责原则来判断重构。

    单一职责原则,意思是一个类或者模块只负责完成一个功能。为何要单一职责原则,使用单一职责原则的类,在后续的维护中,可复用性、可读性都较好,更加高内聚低耦合。但是单一职责原则不能滥用,并不是说类拆的越细越好,有点时候拆分的过细,会影响代码的可读性,降低内聚性。

    让我们以一个例子来说明一下:

    class MailSender {
      public void Subscribe();
      public void SendByTCP();
      public void SendByUDP();
    }
    

    简单来看,虽然这个类方法很少,但是Subscribe和Send并不是同一个职责,而且这个类的类名是MailSender,所以与它有关的是SendByTCP()和SendByUDP(),所以应该拆解为

    class Subscriber {
      public void Subscribe();
    }
    class MailSender {
      public void SendByTCP();
      public void SendByUDP();
    }
    

    现在根据职责,将方法拆成两类,分别放在不同的类中。

    单一职责原则虽然比较简单,但是非常实用,我们经常看到很多新手代码,大段代码,或者代码超长,这个时候就应该考虑一下使用这个基本原则对函数、类、模块进行重构。

    相关文章

      网友评论

          本文标题:面向对象设计原则-Single Responsbility

          本文链接:https://www.haomeiwen.com/subject/syzciktx.html