[奇妙なクラスと実世界]
2.銀行アプリケーションの事例
2.6 オブジェクト指向モデルと現実世界での役割分担の違い
現実に人に与える仕事を非常に細かい単位に分割するのは、種々の事情から実際には有り得ないことでしょう。なぜならば企業の雇える人数には限度がありますし、あまりに細かく仕事を分割して別々の人に担当させたりすれば、かえって連絡のためのオーバーヘッドがかかってしまい、非効率になります。
また人間は病気になったり休暇を取ったりしますから、同じ仕事を複数の社員に担当させることも必要でしょう。またこれとは別にモラル向上や教育のために、ジョブローテーションをしたり、時にはわざと複雑で難しい仕事を一人に任せることもあります。
しかしソフトウェアの構築は人間への仕事の割り振りとは違います。
私たちが目指すものは、見通しが良く、柔軟性や保守性の高いソフトウェア構造なのです。
したがってソフトウェアの事情で都合の良いレベルにまで仕事を分割しても全く問題はなく、ジョブローテーションやモラルのことなどは考える必要はありません。
オブジェクト指向モデルと現実世界での役割分担は、その基本的な考え方は同じですが、その詳細度のレベルが違うのです。また現実世界の人間は感情などを持つため複雑ですが、ソフトウェアはただ指示されたことを実行するだけです。
したがってオブジェクト指向モデルでの役割分担の方がある意味では簡単かもしれません。
© 1999 OGIS-RI Co., Ltd. |
|