首页 > 解决方案 > 为什么要将公共异步方法的内部逻辑分离到私有方法中?

问题描述

我一直在同一个类中看到这样的代码,我想不出分离出顺序私有方法的理由。其他人可以给出一个很好的理由吗?

 public Task<List<myObject>> GetObjectsAsync(object param)
    {
        try
        {
            return Task.Run(() => GetObject(param));
        }
        catch (Exception e)
        {
            //log error
        }
    }

以及伴随它的私有顺序方法:

private List<myObject> GetObject(object param))
    {
        return _dLayer.GetObject(param));
    }

标签: c#

解决方案


将逻辑块(无论它们多么小)分成单独的方法总是好的。 关注点分离的适用范围很广——例如单独的程序集、命名空间和类——也适用于狭义的方法和相关行为的逻辑块。通过这种方式,您可以清楚而自然地看到在哪里可以将代码重构为不同的类,以遵循SOLID中的“S” ——单一责任原则。

保持方法尺寸小也很重要,因为它提高了可读性和可重用性。

我很确定这就是为什么在您的情况下编写代码的原因。


推荐阅读