我们的软件管理来自不同来源的大量数据:实时复制数据库、自动文件FTPed、按计划运行数据库存储过程以缓存来自链接服务器的数据快照以及许多其他获取数据的方法。
我们需要验证和验证这些数据:
在许多方面,这就像单元测试一样:有许多类型的检查要做,只需在列表中添加一个新的检查,然后根据特定的事件重新运行每个测试类。已经有用于运行测试的不错的GUI,甚至可以对它们进行调度。
这样做好吗?是否有更好的、类似的通用的数据验证模式?
我们是一个.NET商店,Workflow会是一个更好的更灵活的解决方案吗?
发布于 2008-09-24 11:30:51
单元测试与您需要做的工作并不类似。它更接近于集成测试或验收测试。但这不是重点。
您的系统对进入系统的数据的验证有很高的要求。数据以各种方式进入系统,我认为需要以不同的方式对其进行验证。
工作流有利于设计和控制易于更改或需要人工干预的业务流程(逻辑)。当涉及到验证问题时,它是不可知论的。但是,将您的验证过程托管为工作流可能是一个好主意,因为工作流是设计为灵活、长寿和能够进行人工干预的。在工作流状态机框架中承载验证过程将允许您在运行时为不同类型的数据导入定义验证策略。
您需要设计一个在逻辑上严重依赖组合而不是继承的验证框架。将数据导入系统并验证为原子步骤的所有不同方式分解开来。根据责任对这些步骤进行分组,并使用实现对象执行每个步骤所需的最小、最起码的属性和方法创建接口。创建由这些不同接口组成的基类。从这个框架中,您可以混合和匹配适合特定导入或验证步骤的实现。
最后一件事。工作流被序列化为xaml以进行长期存储。您的类也应该是xaml可序列化的,以使从活动转换到存储库,并尽可能平滑和简单地返回。
发布于 2008-09-24 09:56:23
测试这些数据的有效性似乎是合理的。你可能称它为单元测试,也可能不称它为单元测试,这是你的选择。我不会。使用你认为最适合这份工作的工具--我不知道你所说的WF (WebForms?)是什么意思。
您通过测试这个automatically.获得的最大好处是,无论是自动的还是对您有用的,都是好的。
https://stackoverflow.com/questions/126236
复制相似问题