zoukankan      html  css  js  c++  java
  • 31天重构指南之二十三:引入参数对象

    “引入参数对象”重构来自于Martin Folwers的重构目录,你可以在这里找到原始的描述。

    有时当一个方法所需要的参数大于5个后,读懂该方法的签名就会变得比较困难,就像下面的代码:

       1: public class Registration
       2: {
       3:     public void Create(decimal amount, Student student, IEnumerable<Course> courses,
       4:         decimal credits)
       5:     {
       6:         // do work
       7:     }
       8: }
     
    在这种情形下创建一个用户传递参数的类是很有帮助的,这会使得代码更容易明白也更灵活,因为当你需要增加参数时,只需要给参数类添加一个属性即可。
    请注意只有当你发现方法的参数比较多时才应该应用该重构,如果方法的参数比较少,就没有必要应用此重构,因为该重构会增加系统中类的数量。
     
       1: public class RegistrationContext
       2: {
       3:     public decimal Amount { get; set; }
       4:     public Student Student { get; set; }
       5:     public IEnumerable<Course> Courses { get; set; }
       6:     public decimal Credits { get; set; }
       7: }
       8:  
       9: public class Registration
      10: {
      11:     public void Create(RegistrationContext registrationContext)
      12:     {
      13:         // do work
      14:     }
      15: }
     
    原文链接:http://www.lostechies.com/blogs/sean_chambers/archive/2009/08/23/refactoring-day-23-introduce-parameter-object.aspx
  • 相关阅读:
    微服务配合docker使用
    基于docker部署使用ELK+FileBeat日志管理平台
    Ubuntu开发用新机安装流程
    http 直接从body里传输数据
    005
    003
    004
    001
    002
    谷歌查看、管理cookie
  • 原文地址:https://www.cnblogs.com/zhangronghua/p/1584469.html
Copyright © 2011-2022 走看看