资讯专栏INFORMATION COLUMN

六大设计原则详解(1)-单一职责原则

sihai / 2416人阅读

摘要:方法比如一个修改用户名和密码的需求,我们把它写在一个方法里天津市上述代码的方法职责不明确,既有修改用户名又修改地址,不符合单一职责原则。

Android学习资源分享合集(1)-视频资源

简介:

单一职责原则(SRP:Single responsibility principle),它规定一个类应该只有一个发生变化的原因。所谓职责是指类变化的原因。如果一个类有多于一个的动机被改变,那么这个类就具有多于一个的职责。而单一职责原则就是指一个类或者模块应该有且只有一个改变的原因。
单一职责原则的好处:

● 类的复杂性大大降低,每个类都有清楚的定义。
● 提高可读性。
● 维护性高。
● 变更时风险率降低。

转化到Android开发中也就是我们编写的接口、类、方法要使用单一职责原则,下面通过这三个方面来详细了解一下单一职责原则。

Interface:
public interface Weather {
    //加载某日某城市的天气
    void LoadWeather(String date,String city);
    //获取天气成功
    void GetWeatherSuccess();
    //获取天气失败
    void GetWeatherError(Throwable e);
}

从接口本身来看写的没问题,但是从单一职责原则的角度上看是有问题的,接口里展示了两个职责,一个是加载数据,一个是提示信息。再换个角度想,相互不影响的方法可以拆分成多个接口,那我们来看GetWeatehrSuccess()和GetWeatherError(Throwable e),如果其中一方发生变化了,那么另一方肯定发生变化了 ;那么LoadWeather(String date,String city)和其他两个方法比较会发现相互不影响。所以LoadWeather(String date,String city)可以多带带拆分出来。

所以接口要符合单一职责。

方法:

比如一个修改用户名和密码的需求,我们把它写在一个方法里.

   private void ChangeUser(String username,String address) {
        username="abc";
        address="天津市";
    }

上述代码的方法职责不明确,既有修改用户名又修改地址,不符合单一职责原则。每个方法必须的职责必须清晰明确,不仅开发简单,而且维护也很容易。

正确的修改如下:

    private void ChangeUserName(String username) {
        username="abc";
    }
    private void ChangeAddress(String address) {
        address="天津市";
    }

类:

类的单一职责原则和接口、方法的单一职责一样的,但是我们会发现先在项目开发中很多类都不太符合,那是因为类的单一职责受很多因素的影响,比如说项目的周期、技术人员的水平等等。

所以总结起来,在开发中,定义的接口和方法一定要做到单一职责,类要视情况而定。

我的公众号

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/70494.html

相关文章

  • 【收藏篇】32篇技术博文汇总(九月总结)

    摘要:首先先祝大家国庆节快乐今天距离为我运营公众号已经一个月了,今天把文章整合一下,希望对大家有帮助,也谢谢朋友的支持,我会继续坚持原创,写更好的文章给大家一视频获取学习资源分享合集二功能篇实现金额的语音播报功能基于模式风格的封装之路炫酷动画跳 showImg(https://segmentfault.com/img/remote/1460000011437678?w=900&h=500);...

    whlong 评论0 收藏0
  • 【收藏篇】32篇技术博文汇总(九月总结)

    摘要:首先先祝大家国庆节快乐今天距离为我运营公众号已经一个月了,今天把文章整合一下,希望对大家有帮助,也谢谢朋友的支持,我会继续坚持原创,写更好的文章给大家一视频获取学习资源分享合集二功能篇实现金额的语音播报功能基于模式风格的封装之路炫酷动画跳 showImg(https://segmentfault.com/img/remote/1460000011437678?w=900&h=500);...

    Eric 评论0 收藏0

发表评论

0条评论

sihai

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<