1

私は自分のクラスを設計するための最良の方法を見つけようとしていますが、ここでは抽象クラスが正しい方法だと思いますが、よくわかりません! 現時点では、Woocommerce と WP-Ecommerce の両方で機能する Wordpress カート用のプラグインを構築しています。これら 2 つのシステムは、注文オブジェクトの取得など、特定の機能の実装が異なるため、プラットフォームごとに個別のクラスを作成したいと考えています。

私は、それを継承するクラスで利用できるジェネリックメソッドを含む以下のものを持っています。このクラスはインスタンス化しないでください。

class Order_Export {
}

次に、上記から継承する 2 つのクラスがあります。

class Order_WooExport extends Order_Export {
}

class Order_WPExport extends Order_Export{
}

私のデザインはここにありますか?クラス Order_Export は抽象クラスであるべきだと言っているのは正しいですか? クラス継承で実装したいメソッドはどうですか?抽象クラスで署名をマークして本体を提供しないだけですか、それともインターフェイスがここのどこかで機能しますか?

適切なクラスをインスタンス化するのはどうですか? どちらかを返すファクトリを作成しますか?

アドバイスをいただければ幸いです。

4

1 に答える 1