【发布时间】:2009-08-11 08:05:21
【问题描述】:
我目前正在对我们的一些框架类进行一些重构(+ 添加新功能)。情况是我们有一个(类似上帝的)类,它执行我们想要拆分的一堆逻辑。该类表示类似财务代码的验证规则。所以它会验证人名、生日等。
我要做的是将其拆分为单个规则,基本上是一个规则,它根据财政代码验证人的名字,另一个验证生日等等。对于最后的程序员来说,它看起来几乎相同。他不会调用 FiscalCode 规则的巨大构造函数,而是执行FiscalCode.GetRules(...) 之类的操作并在此处传递参数。然后GetRules(...) 将在内部构造单个规则并将它们作为数组传回。这对我们来说完全正确。
你的背景就这么多。现在我的问题如下。 FiscalCode 类(这是我们当前强大的神级)有很多实用方法,我将要创建的更多单一“规则类”将需要这些方法。我所知道的是,我仍然需要 FiscalCode 类来做 GetRules(...) 的事情(这是为了程序员保持不变,而不是他们必须做一个全新的事情)。
我想到了两个选择:
- 创建我的新规则类并访问 FiscalCode 类的公共静态实用程序方法
- 将我的新规则类创建为 FiscalCode 类 s.t. 的内部嵌套类。我已经访问了实用方法(因此无需公开我的实用方法)
我已经有一个最喜欢的了,但我想先听听你们中的一些人的意见。
谢谢
【问题讨论】:
标签: c# refactoring nested-class