Fitur Aplikasi:
Ketika banyak fungsi kompleks dan kecil memerlukan persyaratan panggilan, panggilan ini sering memiliki tingkat korelasi tertentu, yaitu, satu panggilan adalah seri.
Karakteristik Struktural:
Rencanakan dan menyatukan panggilan yang awalnya kompleks dan banyak ke kelas entri, dan kemudian Anda hanya dapat menelepon melalui entri ini mulai sekarang.
Contoh Struktur Kode:
class ModuleOne(object): def Create(self): print 'create module one instance' def Delete(self): print 'delete module one instance' class ModuleTwo(object): def Create(self): print 'create module two instance' def Delete(self): print 'delete module two instance' class Facade(object): def __init__(self): self.module_one = ModuleOne() self.module_two = Moduletwo () def create_module_one (self): self.module_one.create () def create_module_two (self): selfodule_two.create () def create_both (self): self.module_one.create () self.module_two.create (): delete_oDe () delete () delete () delete ():): deete) (): deete ():): deete.preate () delete () (): delete () delete () (): delete.preate () (): delete (): delete.preate (): deete () delete (): delete.preate. self.module_one.delete () def delete_module_two (self): self.module_two.delete () def delete_both (self): self.module_one.delete () self.module_two.delete ()
Ini sedikit mirip dengan mode proxy. Perbedaannya adalah bahwa mode penampilan tidak hanya memberikan fungsi dari setiap modul suatu subsistem, tetapi juga berdiri dari perspektif subsistem dan menggabungkan fungsi setiap modul subsistem untuk menyediakan antarmuka tingkat yang lebih tinggi ke dunia luar, dengan demikian secara semantik memenuhi kebutuhan tingkat subsistem.
Ketika fungsi sistem terus berkembang, ketika sistem perlu dibagi menjadi beberapa subsistem atau submodul untuk mengurangi kopling, mengurangi kompleksitas kode sistem, dan meningkatkan pemeliharaan, mode proxy biasanya memiliki keunggulan sendiri.
Mari kita lihat contoh lain:
class small_or_piece1: def __init__(self): pass def do_small1(self): print 'do small 1' class small_or_piece_2: def __init__(self): pass def do_small2(self): print 'do small 2' class small_or_piece_3: def __init__(self): pass def do_small3(self): print 'do small 3' class outside: def __init __ (self): self .__ small1 = small_or_piece1 () self .__ small2 = small_or_piece_2 () self .__ small3 = small_or_piece_3 () def Method1 (self): self .__ small1.do_small1 () ## Jika ada lebih dari dua fungsi yang disebut di sini, yang akan ditampilkan. Anda dapat menghapus hubungan panggilan fungsi kompleks asli dan menyatukan diri .__ small2.do_small2 () def method2 (self): self .__ small2.do_small2 () self .__ small3.do_small3 () if __name__ == '__main__': osd = di luar () osd.method1 () osd.method2 () ()
hasil:
do small 1 do small 2 do Small 2 do Small 3