2011-04-15 75 views
1

默认情况下,我会将发票发送到客户的帐单地址。当客户喜欢电子邮件发票时,我将所需地址存储在“发票交付首选项”表中。我应该在数据中存储默认行为吗?

我还应该在这里存储默认行为的实例吗?也就是说,如果邮寄的发票罚款的客户在此表中具有唯一帐单邮寄地址的行,

A similar question was answered “No”, but their defaults were actually identical - 对我来说,这只是一个默认的过程,因为客户有独特的账单地址。

我的问题是,如果我想在将这些实例存储为行之后更改我的默认行为,我将不得不更新它们的大量数量。现在我可以通过告诉1 COBOL例程来获取帐单地址以外的东西来更改默认行为,并将其发送到打印/电子邮件服务器。

结果:我决定的默认行为的情况下,存储在表,并添加一个“源”列标识每行作为“系统默认”或“客户优先”它巩固了该信息,并取得发票过程一致,至少从“使用表格”的角度来看。

回答

0

对于一种只有一种方法的过程,有些事情需要说明。

仅使用一种方式工作的流程通常更易于构建,更容易排除故障,更易于维护并且更易于检查。 (你可以经常看看代码,然后说:“是的,没错”)

尽管只有这个问题的认知负载很低,但真实世界的系统可能有数百或数千个类似的设计点。在复杂的系统中采取一种通用的方法会带来显着回报。

这是一种“将所有鸡蛋放在一个篮子里,等确认自己的篮子真的很好后”的策略。

但是,由于SQL数据库非常灵活,您可以从创建一个从两个表中选择正确地址的视图获得很多好处。然后所有的应用程序代码都可以读取该视图。要跟上不断变化的要求,只需更改视图即可。

+0

我可能不应该认为COBOL程序正在打SQL数据库,但我会让我的答案保持原样。 – 2011-04-16 01:13:05

相关问题