Ognacの雑感

木漏れ日々

目次

Blog 利用状況

書庫

ギャラリ

生産管理の在庫と物販管理の在庫~メソッド名のAlias

倉庫の在庫という面ではどちらも仕組みは類似しています。入りと出の管理に尽きます。ところが、出し入れの用語が違うので別システムにする事があります。業務担当者と話しするときも用語を使い分けないと話しが通じなかったりします。
生産管理未経験な開発者には受払という言葉が外国語のように聞こえるそうです。逆に生産管理一本の人には入荷出荷が外国語のようです。
うーん。開発者の勉強不足! と一蹴しても改善しません。ということで、用語を反映したシステム設計になったりします。
入荷出荷/受払の用語がプロパティになるようにするために。

'************ 在庫管理 Baseクラス
Public Class 出入
    Private _xx品在庫数 As Long
    Public ReadOnly Property 在庫量() As Long
        Get
            Return _xx品在庫数
        End Get
    End Property
    Public WriteOnly Property 入()
        Set(ByVal value)
            _xx品在庫数 += value
        End Set
    End Property
    Public WriteOnly Property 出()
        Set(ByVal value)
            _xx品在庫数 -= value
        End Set
    End Property
End Class
'*******  物販担当者用Alias.Class
Public Class 入出荷 : Inherits 出入
    Public WriteOnly Property 入荷()
        Set(ByVal value)
            MyBase.入 = value
        End Set
    End Property
    Public WriteOnly Property 出荷()
        Set(ByVal value)
            MyBase.出 = value
        End Set
    End Property
End Class
'*******  物販担当者用Alias.Class
Public Class 受払 : Inherits 出入
    Public WriteOnly Property 受()
        Set(ByVal value)
            MyBase.入 = value
        End Set
    End Property
    Public WriteOnly Property 払()
        Set(ByVal value)
            MyBase.出 = value
        End Set
    End Property
End Class

と実装すれば、基本ロジックを共有できるのだが、用語差を吸収するために継承クラスを作るのは引っかかるものがあります。
メソッド名をAlias的な使用を許すために、デコレーションWrapperするのは、...........これってOOPとは言わないよなぁ。それどころか邪道な気もする。
 よく考えたら、 メソッドのAlias定義って汎用言語では存在しないですよね。   あってもいいような気もしますが。
そもそも同じ動作をシステム名によって呼び方が異なる事が問題なのか....文化だから変更はできないし........

投稿日時 : 2008年2月27日 1:06

Feedback

# re: 生産管理の在庫と物販管理の在庫~メソッド名のAlias 2008/02/27 10:28 Streetw☆

「入荷」と「入庫」の違いとかも混乱しました。
数量のプラスとマイナスが逆(赤黒ということじゃなくて)なときもありますし・・
話それますけど、例でメソッドじゃなっくてプロパティで実装されてるところに違和感あったりします(^^;

# re: 生産管理の在庫と物販管理の在庫~メソッド名のAlias 2008/02/27 10:50 ゆーち

こんちは。おはつです。
漢字でメソッド名がかける言語があるんですね・・・
知らないです。(゜∀゜)

管理する値とそれを変化させる手続きが、どのように表現されるかを分けるのが目的でしたら、クラスのメソッド名をより低レベル(In,Out,Add,Sub)などにして、ビューで表示される部分に表現を変化させるといいと思いました。

Streetw☆ さんも書いていますし、こんな考え方もできるんだなぁ、と感心しましたが、「動き」をプロパティにするのは違和感というより、よろしくない、と感じました。はい。


# re: 生産管理の在庫と物販管理の在庫~メソッド名のAlias 2008/02/27 16:14 Ognac

コメントありがとうごさいます。

>例でメソッドじゃなっくてプロパティで実装されてるところに違和感あったりします(^^;
>「動き」をプロパティにするのは違和感というより、よろしくない、と感じました。はい。
入庫= 300
払 = 12
などと記述する文化が存在するプロジェクトもあるので、否定すると余計なバグの元になったりするので悩ましいです。

>漢字でメソッド名がかける言語があるんですね・・・
.netはunicodeの世界なので動作的には無問題です。 思想的に許すか許さないかの差ですね。

>ビューで表示される部分に表現を変化させるといいと思いました
それも一考価値ありますね。

記事のようなソースにはどのように対応しましょうかねぇ。

--------訂正-----
タイトルは メソッドでなく プロパティにすべきですね

後半の ******* 物販担当者用Alias.Class
は ******* 生産管理担当者用Alias.Class
のTypoでした。orz

タイトル
名前
Url
コメント