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

    java单一职责原则

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

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

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

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

    案例:

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

     

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

    思考:

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

     

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

    总结:

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

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

    深入:

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

    属于高内聚。

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

    所以说,需求才是爹。

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

     

  • 相关阅读:
    安装完QQ必须要删除掉的几个恐怖文件
    dede实战系统:更换成kindEditor编辑器
    PHP 5.4 中经 htmlspecialchars 转义后的中文字符串为空的问题
    DEDECMS图片集上传图片出错302的解决办法
    dedecms安装完成后登录后台出现空白
    OFV.msi是什么 为什么更新时无法安装
    CentOS 挂载NTFS分区的两种方法
    centos使用yum安装gcc
    NetBeans菜单栏字体太小了
    注入漏洞页
  • 原文地址:https://www.cnblogs.com/jikjk/p/10507443.html
Copyright © 2011-2022 走看看