Proxyパターン (2) - リモートProxy

Rubyによるデザインパターン』(ラス・オルセン著 ピアソン・エデュケーション刊)の例をPythonに変換して書いています。目次


次に、実際の銀行口座オブジェクトがどこにあるかに関係なく操作できるProxyを作ります。

class RemoteAccountProxy(object):
    """「銀行口座」クラスのリモートProxy"""
        
    def deposite(self, *a, **kw):
        #サーバーに預け入れの情報を送信
    
    def withdraw(self, *a, **kw):
        #サーバーに引き出しの情報を送信
    
    def deposit(self, *a, **kw):
        #サーバーにから預金残高の情報を取得


はなはだ抽象的ですが、こんな感じです。

ユーザーはあたかも本物のBankAccountであるかのように、RemoteAccountProxyで預け入れや残高照会が出来ます。


ただし、端末上に本物があるわけではないので、メソッドを呼び出してから、
サーバーへの照会し、結果が返されるまでに少々(あるいはしばらく)時間が掛かります。


つづく