0

クラス A と B は両方ともクラス C を拡張し、クラス A と B の両方に必要ないくつかの共通メソッドがクラス C にあります。

クラスAからクラスBのメソッドを呼び出さなければならない場合もあるが、現時点ではクラスAにクラスBのオブジェクトを作成することで実現している。しかし、クラスCにどんどんメソッドが追加されていくので効率が悪い。重複のため、クラス A 内にクラス B のオブジェクトを作成します。

私の質問は、オブジェクト指向、ファクトリ パターンなどを使用して、より良い構造になるようにクラスをリファクタリングするための可能な解決策は何ですか?

前もって感謝します。

4

2 に答える 2

0

トレイトを使用できます(PHP> = 5.4.0のみ)。

于 2012-09-28T22:14:09.700 に答える
0

A と B が必要とするメソッドを 1 つの責任に分解できる場合は、クラス A と B で使用されるクラス D を追加することを検討できます。オブジェクト指向設計。

Google では、SOLID に関する一般的な情報や、PHP での SRP の適用に関する多くの情報を見つけることができます。SRP に関する地元の PHP ミートアップ グループでプレゼンテーションを行いました

于 2012-09-28T22:36:43.547 に答える