Python訪問者模式

訪問者模式,一個物體針對不同的訪問者,所展現的行為是不同的。

class Visitor(object):
    def __init__(self, type_):
        self.type_ = type_


class Obj(object):
    def __init__(self, visitor):
        self.visitor_type = visitor.type_
        self.sell_price = 100

    def show(self):
        if self.visitor_type == 'buyer':
            print('to buyer: it sell ¥', self.sell_price)
        elif self.visitor_type == 'seller':
            print('to seller: it cost ¥', self.sell_price * 0.8)
        else:
            print("undefined")


def main():
    seller = Visitor('seller')
    obj = Obj(seller)
    obj.show()
    buyer = Visitor('buyer')
    obj = Obj(buyer)
    obj.show()


if __name__ == '__main__':
    main()
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1 場景問題# 1.1 擴展客戶管理的功能## 考慮這樣一個應用:擴展客戶管理的功能。 既然是擴展功能,那么肯定是...
    七寸知架構閱讀 2,972評論 1 58
  • 1/有時我會感覺思想跳出肉體。 你好。爺爺看到你的來信了。 看得出,關于身邊的人和事,你有很多自己的思考。關于命運...
    MABEL梅閱讀 189評論 0 0
  • 微雨中帶著清香,你楚楚可憐的樣子美麗異常! 竹傘下跳動的眼眸,不安的看著前方。 在那里,有我和溪流輕聲的流淌,笑聲...
    白夜靈幽閱讀 343評論 0 2
  • 姓名:杜秋瑞 公司:湖北小白象商貿有限公司 【日精進打卡第1天】 【知~學習】 《六項精進》2遍,共2遍 《大學》...
    杜秋瑞閱讀 292評論 0 0