程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 舉例剖析Python中設計形式以外不雅形式的應用

舉例剖析Python中設計形式以外不雅形式的應用

編輯:關於JAVA

舉例剖析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 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved