对应类的实例化,程序员再熟悉不过了,我虽然刚进入IT行业不久,也见得不陌生,但有些问题确总不能理解清楚。 比如有两个类,一个为静态类(简称A),另一个(简称B)的实例对应着数据库的记录。当A中有一个方法为GetB(Bid)即通过B实例的ID实例化B, Bid对应的是数据库中的记录。这种情况,B实例的实例化便有几种方式了:
第一种方式:
第二种方式:
第三种方式:
第四种方式:
第五种方式:
我们现在正在开发的薪酬辅助核算系统,经过讨论采用了第4中方式对类进行实例化,但由于系统中类关系的复杂性,造成了造成了A类中GetB方法设计比较复杂,所以我有点怀疑第四种方式初始化类是否有效、可行,个人比较偏向第五种。 下面是我们系统相关的几个类图: 其中,我们为每个类定义了数据层的数据操作类(业务层类名后加DAL),BusinessConsignController便是上文说到的A类,PayList便是B类,GetB()对应的是GetPayList。 我使用第四种方式实现的代码如下:
Copyright @ varmc Powered by: .Text and ASP.NET Theme by: .NET Monster