多重継承の問題

出荷計画システムを考えよう。

在庫クラスZaikoのオブジェクトに対し、注文クラスChumonのオブジェクトを順に引き当てていくというような処理を考える。

パッケージソフトとして標準的な仕様である(と思われる)、Chumonの持つ納期順・注文日順に在庫を引き当てよう(普通は入庫予定とかも引き当てるんで簡素化バージョンだ)。

てことで、そういう処理を作成し、顧客デモに持っていったところ、「だいたいいいんだけど、少し直して欲しい」ってことで、最初の顧客、ハッスルコンピュータ社向けにカスタマイズ。

引当を、納期・注文日より、自社のオンラインストアの顧客を優先にするって仕様に変更!

とりあえずChumonクラスから派生させて、HChumonとかを作って販売経路をメンバに持たせる。

そんなこともあろうかと、Factoryパターン使ってるから、派生クラスのオブジェクトを生成して必要なメンバだけ値設定するところと引当処理をStrategyパターンでちょちょいと。

無事リリースして次の顧客、ナックルコンピュータ社へ持っていくと、どういうわけか、納期・注文日より、教育機関を優先して引き当てるってご要望が!

これもChumonクラスから派生させて、KChumonとか作って業種なんか付ければ、もう最初とほとんど同じだね!

3番目の顧客は…アップスコンピュータ!
直販で教育機関で、かつ注文金額の大きさを優先だ!

て、直販で教育機関ていうのはもうやったよ?

どういうふうに派生させる?それとも派生させない?

続きはまた明日(か明後日か)。なんか批判めいて見えるのは気のせいだ!