C#/ .net重用代码块

时间:2016-03-09 14:19:57

标签: c# .net visual-studio

在我的项目中,有很多代码块可以在不同的条件下重用。这些块只是几行代码。这些块的调用遍布整个程序,一些主题依赖于程序运行的模式。

我现在希望以易于访问的方式提供此代码并获得良好的性能。 我有两次尝试。

a)创建一个带有函数的静态类,每个函数包含一个代码块。

b)创建几个小类(组件),每个小类包含一个包含一块代码的执行方法。

我不确定哪种方法可以处理这种情况,或者是否有最佳实践方法。

如果您需要更多信息,请告诉我。

编辑:我试着举一个简短的例子。该程序可以以两种不同的模式运行。每种模式都具有相同的工作流程,但在两种模式下略有不同。一个工作流程是关于加载另一个程序集并在两个程序之间建立通在这两种模式中,我都必须调用其他模式中不需要的函数。此调用也出现在程序的其他部分中。 这些块总是以正确的顺序在正确的时间调用某些函数。

void WorkflowXY()
{
    Foo.Do();
    Foo.DoMore();
    if(Mode.A)
    {
        //Chunk1, several lines of code, mostly calling other functions
    }
    else
    {
        //Chunk2, several lines of code, mostly calling other functions
    }
}

void SomewhereElse()
{
    //Code
    //Chunk2
    //more code
}

void InACompletlyDifferentNamespace()
{
    //Code
    //Chunk1
    //more code
}

2 个答案:

答案 0 :(得分:1)

如果可以,请避免使用Helper课程。他们明确了SRP违规行为,并倾向于成为松散相关方法的倾销场所。

我赞成你的第二个选择。恕我直言,课程不能太小。一个班,一个工作。

This值得一读。

答案 1 :(得分:0)

你的“代码块”有点不清楚。无论如何,考虑another question关于静态与非静态的关系。它还提到了extension方法。如果您不想申请延期,那么another issue可能适合您的目的。