动态业务文档创建

时间:2016-04-27 11:46:21

标签: c# object design-patterns document factory

我正在为我们公司准备一个C#.Net项目,并想知道哪种设计模式最适合创建所有这些业务文档。 我已经研究了一些可用的设计模式,说实话我在将它们应用到我的现实世界问题时遇到了问题,在我的场景中得到具体的结论:必须创建不同类型的文档,通过Windows窗体读取和维护,最后存储回数据库,例如发票(销售和采购),合同(销售和采购),提单,信用证,各种库存和仓库文件,可能是以后的一堆会计凭证。 首先,我认为工厂方法可以完成这项工作,但我不确定这是否是这项任务的正确选择。 我想这是一个抽象类叫做#34; Document"将所有常用字段(如docId,docDate,docNumber,docIssuer等)作为我的基础,然后深入了解所需文档对象的具体创建。 有什么选择?在工厂的情况下:我是否需要为每个文档定义一个具体的类并创建对象(这将是简单的继承,不是吗?)或者工厂方法应该如何看待我的问题? 是不是更好地将每个文档规范(最终将像每个数据库表字段)定义为一个自己的类,并使用构建器模式或复合模式在运行时组合所需的文档? 或者还有其他方法吗? 我想知道许多与业务相关的程序必须做出这个决定,但我在StackOverflow上找不到任何关于这个相当常见的问题的先前问题。

如前所述,我们处于规划阶段,这个问题可能被认为是架构的重要支柱,因此任何建设性的建议都会受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

您可以使用table per hierarchy作为数据库设计,然后使用ORM(如NHibernate或Entity Framework)构建文档(而不是使用工厂)。