添付ファイルの追加

ログイン済のユーザのみが添付ファイルをアップロード出来ます。

添付ファイル一覧

Kind Attachment Name Size Version Date Modified Author Change note
png
inventory.png 5.2 kB 1 03-1-2012 00:06 ytp
png
inventory2.png 1.9 kB 1 03-1-2012 00:07 ytp
png
order_amount.png 20.0 kB 1 09-1-2012 22:22 ytp
png
order_classes10.png 8.8 kB 1 09-1-2012 22:22 ytp
png
order_classes11.png 17.8 kB 1 09-1-2012 22:22 ytp
png
order_methods.png 14.2 kB 2 31-12-2011 22:38 ytp
png
receipt.png 6.1 kB 1 02-1-2012 21:25 ytp
png
receipt2.png 1.8 kB 1 03-1-2012 00:07 ytp
png
receipt_inventory.png 3.3 kB 1 03-1-2012 00:53 ytp
png
receipt_inventory_seq.png 11.5 kB 1 03-1-2012 20:17 ytp

This page (revision-19) was last changed on 25-7-2014 20:58 by ytp

This page was created on 30-8-2011 15:57 by ytp

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Difference between version and

At line 67 changed one line
例えば
商品の入荷と在庫を例に考えてみます。必要になるのは、
At line 69 changed one line
*在庫伝票
*在庫商品一覧
の2つです。(下図)\\
[receipt.png]\\
[inventory.png]\\
実際の業務では、入荷された商品を倉庫に保存することになります。この時、システム的には入荷伝票を基に在庫数を増やす処理が必要になりますが、この処理(メソッド)をどのクラスで実装するかというのがこの節での命題です。\\
考えられるのは、
#入荷伝票クラス
#在庫商品一覧クラス
#第3のクラス
の3通りです。\\
\\
入荷伝票に実装する場合は、在庫商品一覧クラスをそのメソッドに引数として渡すことになります。この時そのメソッド内では、
#入荷明細一覧内の入荷明細の数だけ以下を繰り返す。
#在庫商品インスタンスを生成する。
#商品、個数、ロケーション、入庫日付を在庫商品に設定する。
#在庫商品インスタンスを在庫商品一覧インスタンスに追加する。
というように実装することになります。入荷伝票クラスは在庫商品一覧クラスの仕様を熟知している必要があります。\\
\\
逆に在庫商品一覧クラスで実装する場合は、入荷伝票クラスをそのメソッドに引数として渡すことになります。この時そのメソッド内では、
#入荷伝票から入荷明細一覧を取り出す。
#入荷明細の数だけ以下を繰り返す。
#在庫商品インスタンスを生成する。
#商品、個数、ロケーション、入庫日付を在庫商品に設定する。
#在庫商品インスタンスを自身(在庫商品一覧)のインスタンスに追加する。
というように実装することになります。今度は逆に、在庫商品一覧クラスは入荷伝票クラスの仕様を熟知している必要があります。\\
\\
入荷の結果である入荷伝票と在庫の結果である在庫商品一覧が密接に結びついても問題ない場合は上記のいずれかでも構わないのですが、相手側クラスの仕様に変更があった場合はその影響を免れません。\\
こういう場合は、
*第3のクラス
を設計しておく方が、片方のクラスの仕様変更を相手クラスに影響させずに済みます。Gofのデザインパターンにおける
*Mediator(仲介者)パターン
の考え方を応用したものです。\\
Version Date Modified Size Author Changes ... Change note
19 25-7-2014 20:58 3.888 kB ytp to previous
18 11-3-2012 23:19 3.902 kB ytp to previous | to last
17 09-1-2012 22:25 3.902 kB ytp to previous | to last
16 09-1-2012 03:07 3.893 kB ytp to previous | to last
15 09-1-2012 02:59 3.852 kB ytp to previous | to last
14 09-1-2012 02:52 3.843 kB ytp to previous | to last
13 03-1-2012 23:57 3.791 kB ytp to previous | to last
12 03-1-2012 23:42 3.766 kB ytp to previous | to last
11 03-1-2012 23:41 3.766 kB ytp to previous | to last
10 03-1-2012 22:52 3.781 kB ytp to previous | to last
9 03-1-2012 00:44 2.894 kB ytp to previous | to last
8 03-1-2012 00:39 2.839 kB ytp to previous | to last
7 02-1-2012 22:28 2.793 kB ytp to previous | to last
6 01-1-2012 01:19 1.854 kB ytp to previous | to last
5 31-12-2011 23:25 1.607 kB ytp to previous | to last
4 10-9-2011 12:02 1.594 kB ytp to previous | to last
3 31-8-2011 01:21 1.592 kB ytp to previous | to last
2 30-8-2011 22:20 0.926 kB ytp to previous | to last
1 30-8-2011 15:57 0.626 kB ytp to last
« This page (revision-19) was last changed on 25-7-2014 20:58 by ytp