舉例剖析Python中設計形式以外不雅形式的應用。本站提示廣大學習愛好者:(舉例剖析Python中設計形式以外不雅形式的應用)文章只能為提供參考,不一定能成為您想要的結果。以下是舉例剖析Python中設計形式以外不雅形式的應用正文
運用特征:
在許多龐雜而小功效須要挪用需求時,並且這些挪用常常還有必定相干性,即一挪用就是一系列的。
構造特征:
把本來龐雜而單一的挪用,計劃同一到一個進口類中,從此只經由過程這一個進口挪用便可以了。
代碼構造示例:
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): self.module_two.Create() def create_both(self): self.module_one.Create() self.module_two.Create() def delete_module_one(self): 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()
有點相似署理形式,分歧的地方是,外不雅形式不只署理了一個子體系的各個模塊的功效,同時站在子體系的角度,經由過程組合子體系各模塊的功效,對外供給加倍高層的接口,從而在語義上加倍知足子體系層面的需求。
跟著體系功效的赓續擴大,當須要將體系劃分紅多個子體系或子模塊,以削減耦合、下降體系代碼龐雜度、進步可保護性時,署理形式平日會有效武之地。
再來看一個例子:
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() ##假如這裡挪用的不只2兩函數,感化就顯示出來了,可以把本來龐雜的函數挪用關系清晰化,同一化 self.__small2.do_small2() def method2(self): self.__small2.do_small2() self.__small3.do_small3() if __name__ == '__main__': osd = outside() osd.method1() osd.method2()
成果:
do small 1 do small 2 do small 2 do small 3