zoukankan      html  css  js  c++  java
  • 单一职责原则

    java单一职责原则

    定义:应该有且仅有一个原因引起类的变更,也就是接口或类和职责的关系是一一对应的。

    解释:假定我们定义了一个类,他有很多的职能(行为),如果其中一个职能发生变化(你修改了其中一个方法),他是不是会影响其他类或方法的使用?

    而如果你将其独立出来,你修改对其他的职能影响会降低到很小。

    这样我们就实现了低耦合。

    案例:

    学习java的时候这样的类一定没有少写,但是在工作中你的经理却不会让你这样写,这又是为什么那?

     

    在实际项目中,会有很多类,一个类承担的职责越多,它被复用的可能性就越小,而我们团队开发的时候代码复用,可读性,简洁性尤为重要。

    思考:

    还是上面的people,我们假定有一万个人,每一个人都是独特的,在一瞬间他们行为可能是相同的也可能是不同。在这一瞬间有一百万个可能,窝进棉被或面对寒冷.............................

     

    按如此设计你将不用写一百万个类型的人,你只需要将这些人的行为定义出来即可。

    总结:

    • 难点:职责的划分:
      • 在不同情景和生产环境下我们对职责的细化是不同的
      • 单一职责原则提出的是一个评价接口是否优良的标准

    开发是将问题解决,但是每个人解决问题的方式是不同的,设计原则是将我们的思考方式统一的方式,当然这些经验都是前辈们趟雷过来的,所以我们理解遵守就好了。

    深入:

    有一个A类,具有一个方法;B类,也有一个方法;C类将A类和B类组合在一起实现了一个功能。请问是否遵守单一职责原则?

    属于高内聚。

    事物都是相对的,当在一个大的系统中,单一的职责可能有很多的组成。

    所以说,需求才是爹。

    杀死一个程序员的方法改3次需求就够了。

     

  • 相关阅读:
    Kattis
    HackerRank
    HackerRank
    牛客小白月赛1 C 分元宵【快速幂】
    牛客小白月赛1 J おみやげをまらいました 【MAP】
    logback与Spring、SpringMVC结合使用教程
    解决maven项目pom报错
    sz与rz命令
    cassandra 测试数据库
    ubuntu 无法解析主机的解决方法
  • 原文地址:https://www.cnblogs.com/jikjk/p/10507443.html
Copyright © 2011-2022 走看看