この特集のトップページへ
>
Chapter 6:ビジネスロジックの設計
6.7.2 承認不要な伝票の限度額
「●一定金額以下だったならば自動的に承認するようにする」では,一定金額以下の伝票であれば,上司の承認を必要とせずに直接伝票を承認ずみとする機能を実装した。その限度額は,Business.Slipコンポーネントのコンストラクタ文字列として設定するようにしたのだった。
場合によっては,コンストラクタ文字列として設定された承認不要な伝票の限度額をプレゼンテーション層から知りたいこともある。そこで,List 6-200に示すGetMaxTotalメソッドをBusiness.Slipコンポーネントに実装しておく。List 6-200を見るとわかるように,これは単にg_MaxTotal変数の内容を返すだけの働きしか持たない。「●一定金額以下だったならば自動的に承認するようにする」でも説明したように,g_MaxTotal変数にはIObjectConstruct_Constructイベントにおいてコンストラクタ文字列として設定された承認不要な伝票の限度額が設定されている(List 6-162を参照)。
List 6-200のGetMaxTotalメソッドを実装する代わりにg_MaxTotal変数をPublic宣言し,プレゼンテーション層から直接アクセスできるようにしても同等な機能を実現できる。しかし,g_MaxTotal変数をPublic宣言すると,プレゼンテーション層から参照できるだけでなく,変更することもできてしまうため,悪意のあるユーザーによってg_MaxTotal変数の内容を書き換えられ,承認不要な伝票の限度額を変更されてしまうおそれもある。よって,g_MaxTotal変数をPublic宣言するような実装は避けたほうがよい。
Chapter 6 91/92 |