【发布时间】:2011-01-23 18:36:49
【问题描述】:
我正在使用 C# 开发一个类库。我设计了 3 个主要类来帮助对我们的数据进行建模。它们的设计使得 A 类包含 B 类实例的列表,B 类包含对 C 类实例的引用,即:
public class Policy
{
public List < PolicyTerm > myTerms;
person Customer;
string PolicyNumber;
}
public class PolicyTerm
{
public Billing myBill;
Datetime effectivedate;
List < Activities > termActivities;
public doAction()
{
use value from Policy, like PolicyNumber;
}
}
public class Billing
{
float remainingBalance;
Datetime nextDueDate;
public void doSomething()
{
reference value from PolicyTerm, such as effective date;
use value from Policy, such as PolicyNumber;
}
}
我遇到的问题是,当我尝试在 PolicyTerm 或 Billing 中使用需要来自包含类的数据的方法时。在上面的示例中,这将是方法“doSomething”尝试使用 PolicyTerm 中的值,例如请求或将数据保存到我们的数据库中的期限的生效日期。
由于这种情况,我想知道我的课程设计是否正确。我是否应该在子类中添加对“父”类的引用,以使父类的数据可用?还是我需要重新考虑代码的整体结构和设计?
我觉得类设计非常适合对数据和我们的业务规则进行建模,但它确实会产生一些限制,例如上述情况。我喜欢 PolicyTerm 和 Billing 的分离,因为它允许独立修改和测试代码。另外,我觉得它使每个部分更小更简单。
任何可以提供的建议将不胜感激。
更新:代码块已更新,以提供有关代码的更多详细信息。
【问题讨论】:
-
您为什么不精简您想要使用的实际代码并向我们展示呢?这样的事情真的取决于情况。