著作一覧 |
winplusさんの『売上の「正しい」名前とは何か』を読み、頭をひねる。
ビジネスの世界じゃなければ、名前空間で分けるけど、そういうことでもなさそうだし。
でも、もし、それがOOPの世界だったらどうだろうか?
売上はSalesで、SalesのデータなんだからSalesDataとかいうPOJO(POCOでも良いけど)を作ることにして、工場と商品企画で異なる名前空間があるとする。
namespace 工場 class 売上 { 顧客 {get; set; } }
namespace 商品企画 class 売上 { 顧客 {get; set; } }
これについては、それほど違和感ないな。
名前空間ってのは、日常生活での言語においては文脈ってことになるけど(文脈によって同じ言葉が異なる概念を持つ)、データベースではそれは何だろうか。データベース(カタログ?)ってやつかな。
でも、文脈っていうので実は良いのではなかろうか。
if (endPoint == "商品企画") { notify(salesData.Customer); } else if (endPoint == "直接販売") { notify(salesData.Customer); }
ここでの文脈はendPointで、それぞれの節内で、上のほうは内線電話が鳴り、下のほうはEメールが飛ぶ(か、カスタマサポートとか外商とかに指示が飛ぶ)。
というか、OOPであれば、はなからthisが異なるクラスだから途中で自分が何者かを調べるまでもなく
notify(salesData.Customer);
で良いのであった(というか、そう記述する)。
……なんという空気読みの世界。
ジェズイットを見習え |