0

我正在实现一个模板方法类型的模式,并有几个类来实现该行为。

例如,我的结构如下:

TemplateAbstract
    Type 
        CustomType1
        CustomType2
        CustomType3
        Default

“默认”类包含不需要任何自定义类型的行为。我的问题是,“默认”对班级来说是个坏名字吗?

我想,既然我在问这个问题,我已经对这个名字产生了一些严重的怀疑,但是你还能把一个提供类型之间默认行为的类称为什么?

4

3 回答 3

0

理想情况下,类名应该描述目的。“默认”是一个模糊的术语,对类提供的功能没有任何意义。

您可以将默认类命名为“该类已实现所有基本功能”

例如,您可以将名称命名为“BaseType”或“BasicType”或“SimpleType”或其他任何适合您需要的名称。

于 2012-12-17T14:25:08.720 回答
0

只需扩展名称,将其命名为:

DefaultTypeBehaviour

这不太可能引起冲突,并且会告诉你更多关于类做什么的信息。

于 2012-12-17T14:27:01.750 回答
0

举个例子,你的意思是这样的吗?

Number
  Integer
    PositiveInteger
    NegativeInteger
    OddInteger
    EvenInteger

正如汤姆 B 在他的评论中指出的那样,您如何处理这取决于组合或继承;但我假设鉴于您布置的这种结构,您的意思是使用继承。在我的示例中,使用“DefaultInteger”类型似乎相当尴尬,但在您的特定问题中可能不是。如果Integer只是一个接口aStandardInteger可能是有意义的。想想开发人员将如何使用这种类型,以及“默认”作为其自己的独立事物是否有意义:

Bread
  YeastLeavened
    Wheat
    TwelveGrain
    Default

现在我不确定默认酵母发酵面包是什么,但如果它对你的烘焙程序有用,那么它本质上没有任何“错误”。虽然我个人更喜欢没有Default自己的类型,而只是有一个方法YeastLeavened.getDefault()来返回正确的类型。

编辑:所以要直接回答你的问题,一般来说是的,我会说“默认”是一个坏名字,除非你总是通过范围(Integer::Default)使用它,而且通常是一个很难单独拥有的类概念上(它要么是抽象的基础功能,要么是一些具体的、“真实的”类,作为系统默认使用的功能)

于 2012-12-17T15:52:25.513 回答