zoukankan      html  css  js  c++  java
  • 代码重构之单一职责原则在实际中使用

    1、单行代码职责单一

    private double GetSubtotalAmount(doube singlePrice,int productCount)
     {  
       return singlePrice*productCount;
     }

    上文中的return语句行代码职责不单一,将其改为:

    private double GetSubtotalAmount(doube singlePrice,int productCount)
     {
         double subtotalAmount=singlePrice*productCount;
     
         return subtotalAmount;
     }

    2、单个变量职责单一

    private string GetFirstName(string name)
            {
                name = name.Substring(0, 6);
                return name;
            }

    上文中的参数变量name被当作返回值使用,改为:

    private string GetFirstName(string name)
            {
             string firstName= name.Substring(0, 6);
     
             return firstName;
     }

    3、方法职责单一

    private void OnPageLoad()
            {
                LoadCountryData();
            }
      private void LoadCountryData()
            {
                //... Load Data
                //Set Item Index=0;
            }

    将上文中的注释部分//Set Item Index=0提取为一个方法:

    private void SetCountryListIndex(int countryIndex)
       {
        //Set Item Index=0;
        }

    这样在OnPageLoad里面改为

    private void OnPageLoad()
            {
                LoadCountryData();
               SetCountryListIndex(0);
            }

     4、类或接口或结构体职责单一,以类为例说明

    class UserInfor
        {
            public string Name { get; set; }
            public int Age { get; set; }
            public string Address { get; set; }
     
            public void UpdateAddress(string newAddress)
            {
     
            }
        }

    可改为:

    class UserInfor
        {
            public string Name { get; set; }
            public int Age { get; set; }
            public string Address { get; set; }
         }
     
      class UserBehavior
        {
            public void UpdateAddress(UserInfor user)
            {
     
            }
        }

    5、模块职责单一

    比如一个系统,有人员基本信息模块、考勤模块、工资管理模块,这三块之间相互独立又有关联,考勤和工资都要具体到每个人,各自分工职责很清楚,而且各模块职责单一。

  • 相关阅读:
    腾讯推出微信企业服务平台风铃
    WAP网页输入框的默认键盘类型控制
    asp.net+扫描仪+图片上传
    Web截屏插件
    java扫描仪上传文件
    web高拍仪图片上传
    网页中怎么实现客户端通过扫描仪把图像传到服务器上
    如何在Web页面里面使用高拍仪扫描上传图像
    B/S选择文件夹上传
    用java实现文件的断点续传并发下载
  • 原文地址:https://www.cnblogs.com/qingmuchuanqi48/p/13419999.html
Copyright © 2011-2022 走看看