設計模式之python版(七)–模板方法模式

來源:互聯網
上載者:User

模板方法模式:

應用特性:重複做相同邏輯的事情,但是具體細節不同的情境

結構特性:相同邏輯抽取至父類,具體細節留置子類。可以說是對邏輯的抽象

UML:

#!/usr/bin/env python  #encoding: utf-8  class template:    def __init__(self):        pass        def logic(self):        print 'do something before ....'        print self.do_something_now()        print 'do something after ....'            def do_something_now(self):        return None              class apply_temp1(template):    def __init__(self):        pass        def do_something_now(self):        return 'apply 1'      class apply_temp2(template):    def __init__(self):        pass        def do_something_now(self):        return 'apply 2'            if '__main__' == __name__:      obj1 = apply_temp1()    obj2 = apply_temp2()    obj1.logic()    obj2.logic()    print obj1.__class__    print obj2.__class__

結果:

do something before ....apply 1do something after ....do something before ....apply 2do something after ....__main__.apply_temp1__main__.apply_temp2

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.