有时我必须在课堂上写大代码,所以我所做的就是这样,
Class ABC //it's a web service class
{
Public void Method-1() //used "-" for easy to read
{
//DoSomething and get something from database
Method-2(pass parameters that i got from database);
}
Public void Method-2(parameters)
{
DoSomething again and get data from another database. and some other source
do some processing by calling web services (just as example)
Method-3(parameter);
}
Public void Method-3(parameters)
{
DoSomething again and get data from another database. and some other source
do some processing by calling web services (just as example)
Method-4(parameter);
}
// and it keeps going
}另一种方式
Class ABC //it's a web service class
{
Public void Method-1() //used "-" for easy to read
{
Method-2();
Method-3();
Method-4();
// so on....
}
}这是正确的做法吗?如果不是,那么什么是最好的办法呢?
编辑
@Sayse我正在尝试从不同的来源获取信息,并试图构建一个大的XML文件,这使得我可以使用4,5 foreach循环从sql等获取数据。所以使用嵌套方法
发布于 2013-08-29 09:06:03
这两种方法在不同的情况下都是好的。如果您有单个功能,则应该将它们分开。第二种方法--当一个方法是“外部”功能的一部分时,应该使用方法调用方法。
示例:
repairVehicles() {
repairCar();
repairBike();
repairTrain();
}..。但是:
repairCar() {
...
repairEngine();
...
}
repairEngine() {
...
takeEngineOut();
....
}
takeEngineOut() {
...
unscrewBolts();
...
}发布于 2013-08-29 08:56:03
你的问题不可能有一个直接的答案。
首先,您应该注意到,一个方法应该执行一个功能。如果这是真的,那么根据您的需求,您可以任意调用它。
示例:
如果您有一个基本方法,则以一个数学表达式作为输入。这个表达式包含加、减、乘和除法,然后你将其称为第一种方式。
public int GetExpressionResult(string someExpression)
{
Divide();
Multiply();
Addition();
Subtraction();
return result;
}在上面的例子中,结果依赖于所有四个方法,所以这样调用它是好的。
现在,在你的例子2,如果方法是完全独立的,而不是你应该做的方式。
结论:
对于这一点没有硬性规定,您应该按应用程序要求的方式进行调用。
发布于 2013-08-29 09:47:42
就我理解你的问题而言,你所描述的基本上是一个管道。有一个非常有趣的博客(由这里和这里两部分组成),讲述如何像你一样优雅地处理各种情况。
https://stackoverflow.com/questions/18506132
复制相似问题