日期:2014-05-17  浏览次数:20454 次

本人正在实习,遇到了问题
之前学习三层架构是传统的PetShop学习的,DAL层与BLL层层次分明。它们的构造函数都是为无参构造函数,现在实习公司使用的听说是三层架构+WebService。前台使用JS调用WebService交互。但是DAL层的所有类继承于他们之前写好的一个公用类,还是用代码生成器生成恶心的代码  
  #region 属性
  private STC.Model.scmSaleOrder _mentity = null;
  public STC.Model.scmSaleOrder mEntity
  {
  get { return _mentity; }
  }
  #endregion

  #region 构造函数
  public SaleOrder(long sID)
  {
  _mentity = new STC.Model.scmSaleOrder();
  sTableName = _mentity.sTableName;
  getModel(_mentity, sID);
  }
  public SaleOrder()
  {
  _mentity = new STC.Model.scmSaleOrder();
  sTableName = _mentity.sTableName;
  }
  public SaleOrder(string sCode)
  {}
这些东西有用吗?不明白他们为什么使用这么多构造函数。多此一举?

------解决方案--------------------
构造函数重载肯定有它的作用....
------解决方案--------------------
你自己不都说了代码生成器嘛,当然是考虑到很多中情况了
------解决方案--------------------
是为了日后系统的发展性
------解决方案--------------------
这和你有什么关系,用对自己有用的就是了
------解决方案--------------------
应对以后不同的需求,你要什么就用什么,你用不到的,可以不用去看
------解决方案--------------------
构造函数重载为了应对多种不同需求~
就比如万能螺丝刀那样.
要用哪个就换哪个类型的刀头~
只有一个空参的构造函数满足不了所有开发的`
------解决方案--------------------
你都说是生成器生成了,机器而已,他才不知道啥叫恶心,啥叫不恶心
------解决方案--------------------
探讨

之前我看过的三层在DAL和BLL都不会用到带参的构造函数,封装的是操作方法类而已。而现在这个类中还有属性。不太明白它的用法。引用:
构造函数重载肯定有它的作用....

------解决方案--------------------
初始化构造的时候可以根据需要设置不同的属性或方法。。提供多个选择。。工厂生产太单一了那寿命也就短了
------解决方案--------------------
PetShop没有看过,不过据说在架构上那个是垃圾,是用来比效率的
构造函数多了没啥不好,只是里面没有处理就不地道了
------解决方案--------------------
重载是必须的,当你用一个函数,想到结果,而传入参数不一样,就需要重载啊
------解决方案--------------------
建议你代码生成器多数只是参考,尤其是新手自己多看看实例。总用生成器,以后自己写很费劲