传值还是传实例?
常常看到在插入数据时,掉用数据处理层方法时,好多人都是在工程里建一个数据类。然后再在调用数据处理层方法之前实例那个数据类并给里面的属性付值。再将实例做为参数传入数据处理的方法中?
我想问一下这样做比直接将每个变量做为参数传进去好在哪里?
大家能谈谈这两种传递参数的方式的优劣吗?
------解决方案--------------------因为引用类型如果直接传递,有可能被方法内部修改
------解决方案--------------------没有什么大的区别!
------解决方案--------------------传对象的好处就是可以保持接口的统一,如果有变动,只在内部改动,而不是改接口
------解决方案--------------------在C#中默认就是传引用的.
string[] ary = new string[]{ "a "};
this.DoChante(ary);
Response.Write(ary[0]);
public void DoChante(string[] a)
{
a[0] = "B ";
}
------解决方案--------------------传引用还是传实例要看你的具体应用了,一般情况下都是传引用,一是快,二是可以在类的内部来修改变量的值,如果你不想让修改原来的值,那么可以考虑传实例。
------解决方案--------------------对数据操作进行抽象,就能用的久一点、问题少一点,避免不断重构。
如果A类型对象的20个子类与B类型的20个子类发生关系,可能需要定义400种关系,需要写10大本书才能说明,但是如果子类都继承父类,你就不用将子类对外的联系零碎地描述,也许只用2页A4纸就把协议说清楚了。