0

パターンのテンプレートメソッドタイプを実装しており、動作を実装するためのクラスがいくつかあります。

例として、私の構造は次のとおりです。

TemplateAbstract
    Type 
        CustomType1
        CustomType2
        CustomType3
        Default

「デフォルト」クラスは、カスタム タイプが必要ない場合の動作を保持します。私の質問は、「デフォルト」はクラスの悪い名前ですか?

私がこの質問をしているので、私はすでに名前についていくつかの深刻な疑問を持っていると思いますが、型の中でデフォルトの動作を提供するクラスを他に何と呼びますか?

4

3 に答える 3

0

名前を拡張して、次のように呼びます。

DefaultTypeBehaviour

それが競合を引き起こす可能性は非常に低く、クラスが何をするかについてもう少し詳しく説明します。

于 2012-12-17T14:27:01.750 に答える
0

理想的には、クラス名は目的を説明する必要があります。「デフォルト」はあいまいな用語であり、クラスが提供する機能には何の意味もありません。

Default クラスに「このクラスにはすべての基本機能が実装されている」ことを示す名前を付けることができます

たとえば、「BaseType」、「BasicType」、「SimpleType」など、必要に応じて名前を付けることができます。

于 2012-12-17T14:25:08.720 に答える
0

例えるなら、こういうことですか?

Number
  Integer
    PositiveInteger
    NegativeInteger
    OddInteger
    EvenInteger

Tom B がコメントで指摘したように、これにどのようにアプローチするかは、構成または継承によって異なります。しかし、あなたがレイアウトしたこの構造を考えると、継承を使用するつもりだと思います。私の例では、「DefaultInteger」タイプを使用するのはかなり厄介に思えますが、特定の問題ではそうではない場合があります。Integer単なるインターフェースである場合はStandardInteger、理にかなっている可能性があります。開発者がこの型をどのように使用するか、および「デフォルト」が独自の別のものとして意味があるかどうかを考えてください。

Bread
  YeastLeavened
    Wheat
    TwelveGrain
    Default

デフォルトの酵母入りパンがどうなるかはわかりませんが、それがベーキングプログラムにとって有用な構成要素である場合、本質的に「間違っている」ものは何もありません. Default私は個人的には独自の型を持たず、代わりにYeastLeavened.getDefault()正しいものを返すメソッドをオンにすることを好みます。

編集:あなたの質問に直接答えるために、一般的にはい、スコープ(Integer :: Default)を介して常に使用していない限り、「デフォルト」は悪い名前であり、一般にそれ自体で持つのは難しいクラスです概念的に (これは、抽象的な基本機能、またはシステムでデフォルトで使用されるものとして機能する具体的な「実際の」クラスのいずれかです)

于 2012-12-17T15:52:25.513 に答える