加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

单一职责原则

发布时间:2020-12-14 05:14:16 所属栏目:百科 来源:网络整理
导读:介绍: 单一职责原则(SRP)就一个类而言,应该仅有一个引起它变化的原因。 软件设计真正要做的许多内容,就是发现职责并把那些职责相互分离。其实要去判断是否应该分离出类来,也不难,那就是如果你能够想到多于一个的动机去改变一个类,那么这个类就具有多

介绍:

单一职责原则(SRP)就一个类而言,应该仅有一个引起它变化的原因。

软件设计真正要做的许多内容,就是发现职责并把那些职责相互分离。其实要去判断是否应该分离出类来,也不难,那就是如果你能够想到多于一个的动机去改变一个类,那么这个类就具有多于一个职责,就应该考虑类的职责分离。

在编程时,我们要在类的职责分离上多思考,做到单一职责么这样你的代码才是真正的易维护、易扩展、易复用、灵活多样。

例如:红绿灯的职责就是规范人类的交通行为、电灯开关的职责就是为了控制电源。

单一职责原则的优点


1、降低类的复杂性,实现什么样的职责都有清晰的定义
2、提高可读性
3、提高可维护性
4、降低变更引起的风险,对系统扩展性和维护性很有帮助


例如:在控制台上设计一个计算器的程序,

运算类的代码

       public class Operation
        {
            private double _numberA = 0;
            private double _numberB = 0;

            public double NumberA
            {
                get { return _numberA; }
                set { _numberA = value; }
            }
            public double NumberB
            {
                get { return _numberB; }
                set { _numberB = value; }
            }
            public virtual double GetResult()
            {
                double result = 0;
                return result ;
            }
        }
为了体现单一职责原则,举例在运算的时候需要使用加法,则创建一个加法类。

        class OperationAdd : Operation
        {
            public override double GetResult()
            {
                double result = 0;

                result = NumberA + NumberB;
                return result;
            }
        }
在加法类中,此类的功能是表示数A和数B的和。其他的运算类也遵循单一职责原则。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读