使用一个验证类来提高效率

ZDNet软件频道 时间:2002-12-24 作者:BUILDER.COM |  我要评论()
本文关键词:cpp tips
除了使用get()和set()函数,程序员还经常需要使用has()和clear()函数。Has()和clear()函数增加了编程的复杂性,因为为了编写它们,你必须增加额外的逻辑分析。

除了使用get()和set()函数,程序员还经常需要使用has()和clear()函数。例如,假设你有一车辆,为了获得一个对象目标,你可以生成这样的函数:

  • GetDestination()
  • SetDestination( NewDestination)
    然而,如果这一车辆不作为一个对象目标,你可以增加如下的函数:
  • HasDestination()
  • ClearDestination() (optional)
    生成以上代码可能会碰到一些麻烦。Has()和clear()函数增加了编程的复杂性,因为为了编写它们,你必须增加额外的逻辑分析。

利用验证类来简化程序

你可以使用一个验证类来处理以上的问题,这样将会给你在编程过程带来便利。

使用验证类实质上是在代码执行过程中分解使用get()/, set()/, has()/, 和clear()函数。在内部,验证类使用了一个执行器,这一执行器能够调用get()/, set()/, has()/, 和clear()函数。

在缺省情况下,你可以使用这两个执行器:
  • ValidatorUseInvalidValue< Type, invalidValue>, 在内部调用一个非法值。
  • ValidatorWithBoolean< Type>, 在内部调用一个布尔量值。
    这两个执行器的用法很简单,从验证类的代码你可以看得出来。你也可以直接添加自己的验证类执行器而使用它。
验证类

既然具有多种验证类,你可以使用最合适你的程序的类,这些验证类为:

  • Validator< Type, Implementer>: 针对提供的类型,这一个类包括get(), set(), 和has() 函数,没有clear() 函数。
  • ValidatorWithClear< Type, Implementer>: 针对这一类型,这一个类包括get(), set(), has(), 和clear()函数。
  • ValidatorWithInvalidValue< Type, invalidValue>: 针对这一类型,这一个类包括get(), set(), 和has()函数。你可以赋给一个在内部上非法的值。
  • ValidatorWithInvalidValueAndClear< Type, invalidValue>: 和前一个类相似,但它包括了clear() 函数。
验证类的使用

你可以看到,使用验证类很直接又方便,同时也提供你所需要的各种简便的转换,如下所示:

// equivalent to
// int nDestinationId = my_car.DestinationId().get();
int nDestinationId = my_car.DestinationId();
// equivalent to
// my_car.DestinationId().set( 3);
my_car.DestinationId() = 3;

百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134