簡単な要約: クラスの特定のインスタンス化を事前に定義したい場合、サブクラスまたはファクトリを作成する方が良いですか?
問題のコンテキスト
多数のプロパティを持つビュー ヘルパー クラス MyWebserviceUrl があります。その目的は、URL を生成することです。
このクラスのインスタンスを事前に構成できるようにしたいので、 の同じファミリに対して多くの を実行する必要がsetThis()
ありませsetThat()
ん。このタイプに関連するデフォルト。MyWebserviceUrl
a
a
MyWebserviceUrl
このようにサブクラスでこれを解決できます
UrlFamFoo extends MyWebserviceUrl {…}
UrlFamBar extends MyWebserviceUrl {…}
MyWebserviceUrl
「Foo」のようなパラメーターを指定すると、オブジェクトを構成できるファクトリーを作成することもできます。
私の質問:
- サブクラスのルートに行くべきですか、それとも工場のルートに行くべきですか?
- 工場に助言する場合、これは
- 別のビュー ヘルパー、
- 通常のファクトリ クラス、または
- メソッド
factory($name)
でMyWebserviceUrl
?
補足:私は現在 Zend Framework で開発していますが、この質問はより一般的だと思います。
edit1 →<em>より具体的に言うと、一部のプロパティをデフォルトに設定し、残りをその場で設定する必要があるだけです。