1

我想实现一个实用程序类,它的方法是验证过程的内部步骤。是否有这种模式或者我应该使用完全不同的方法?我愿意接受建议。(我在abap编码,但我不认为这很重要)

编辑:它没有文本的前端验证,但检查某些条件是否匹配。(参数实际上是一个表。对于每一行,我检查是否有匹配的条件作为示例,如果另一个数据库表中存在有效条目。)

像这样的东西:

Class Validator 
{
   private bool flag_error;

   private Step1 ( var a, var b )
   {
     //do somthing ...
   }

   private Step 2 ( var a )
   { 
     //do somthing ...
   }

   private Step 3 ( var c )
   {
     //do somthing ...
   }

   static Check(var a, var b, var c)
   {
    Step1(a, b );
    Step2( a );
    Step3( c );
    return flag_error;
    }
}

用法:

if (Validator.Check(a,b,c) )
{
 //do good stuff
}
else
{
 //do error handling
};
4

4 回答 4

3

设计决策实际上取决于细节。会有多个验证器算法实现吗?尝试策略模板方法模式。

如果您只需要这个类来执行这些多个步骤,那么您已经实现了一种模式Composed Method。把事情简单化。除非确实需要,否则不要添加复杂层。

于 2009-06-24T18:24:42.383 回答
0

我想到了一种模式。它是模板模式

我将制作一个Check如上所述实现的抽象类以及Step具体类要实现的方法。

于 2009-06-23T10:04:56.110 回答
0

我曾经写过一个访问者模式,它很好地将实际验证与字段分开。

于 2009-06-23T10:29:00.820 回答
0

我使用 C# 属性进行验证。你可以在这里找到详细的文章。这有助于您通过配置而不是约定来实现验证。使用这种技术,您的验证例程变得高度抽象和可重用。

于 2009-06-23T10:36:07.090 回答