0

我仍然是 MVC 的初学者,所以我在设计上遇到了问题。

我有很多类别 C1、C2、C3。每个类别都有她的特殊结构。因此,每个类别都应该在Model Class中呈现。我还在数据库中为每个类别都有自己的表,通过Hibernate相互映射。

我需要在我的应用程序中从 Excel 文件中获取数据(我成功上传并从 excel 文件中获取数据)。但是excel文件应该尊重表格中选择的类别的结构。所以这意味着,如果我在 C1 表单的选择中选择,然后我上传一个具有不同结构的 excel 文件,该文件应该被拒绝......

那么如何设计我的应用程序以根据指定的类别处理 Excel 文件

4

2 回答 2

1

定义一个ExcelStructureValidator接口,并让所有类别类(C1、C2 和 C3)实现一个

ExcelStructureValidator createExcelStructureValidator()

方法,它为所选类别返回适当的验证器。

其他设计是可能的,甚至更好,但是如果没有关于什么是类别以及如何将 excel 文件结构链接到类别的更多信息,就很难提供理想的解决方案。但是,需要某种基于类别的验证器工厂。该类别是否应该是工厂是有争议的。

于 2012-07-21T15:14:24.270 回答
0

如果在表单中选择了一种类别,则这是一项验证任务。对于 Swing GUI,这类事情通常由像 InputVerifier 这样的独立类来完成。这可以集成到您的等效控制器中或转发给服务。

如果您不确定输入的类别类型,您可以使用通用方法来验证数据。如果您期望某个类别类型,您可以使用工厂风格的方法来获取适合预期类别的特定验证器实例。对于这些验证器,您可以拥有一个带有isDataValid返回真/假的方法的通用接口,或者使用一些自定义异常来实现更细粒度和面向对象的方法。

于 2012-07-21T17:24:53.223 回答