OOP封装重构一例

关键字:<u>面向对象/OOP</u>, <u>封装</u>, <u>重构</u>

c语言表白程序

项目程序里有如下方法定义:

/// <summary>
/// 将数据批量insert到db表里
/// </summary>
/// <param name="table"></param>
/// <param name="tableColumName"></param>
/// <param name="destinationTableName"></param>
/// <returns></returns>
public bool BulkCopy(DataTable table, string[] tableColumName, string destinationTableName = "T_AlipayRefundRecord")
{
    return OrderDataSave.MySqlBulkCopy(table, destinationTableName, tableColumName);
}

通过检测调用代码,发现都是这样的:

var dt = new DataTable();
......
......
string[] sTableColumName = CommonFun.GetColumNameOfDataTable(dt);
// 将退款数据批量insert到dbo.T_AlipayRefundRecord表里
bResult = alipayRefundBll.BulkCopy(dt, sTableColumName);

既然如此,那么,我认为,有必要把获取DataTable列数组的行迁移到BulkCopy方法里,实现封装。
即方法BulkCopy的方法体为:

public bool BulkCopy(DataTable table, string destinationTableName = "T_AlipayRefundRecord")
{
    string[] tableColumName = CommonFun.GetColumNameOfDataTable(dt);
    return OrderDataSave.MySqlBulkCopy(table, destinationTableName, tableColumName);
}

这样调用的代码就更简洁了:

var dt = new DataTable();
......
......
// 将退款数据批量insert到dbo.T_AlipayRefundRecord表里
bResult = alipayRefundBll.BulkCopy(dt);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,695评论 25 709
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,643评论 18 399
  • 原来是总结来的
    ww4u阅读 1,337评论 0 0
  • 志工姓名:甘晓盈;搭档志工:许环; 服务时间:2017.年9月7日19:30-21:30; 服务地点:养老院; 服...
    露颖_阅读 1,396评论 0 0
  • 网上铺天盖地的出轨门,惊爆眼球。但有些故事读起来更令人唏嘘。 伟和敏是相恋了N年的同学,还没出校门时,大家都很看好...
    東方木阅读 1,864评论 0 0

友情链接更多精彩内容