python模式學習筆記

2022-08-16 20:09:22 字數 1308 閱讀 4732

1

class a:

2def __init__(self,arg):

3 self.data =arg45

def reminder(self):

6print('{} is a number'.format(self.data))

7 self.data = self.data**2

8return

self.data

9class b:

10def __init__(self,arg):

11 self.data =arg

1213

def reminder(self):

14print('{} is a str'.format(self.data))

15 self.data = self.data+' nice to meet you'

16return

self.data

1718

def factory(arg):

19 connect =none

20if

isinstance(arg,int):

21 connect =a

22elif isinstance(arg,str):

23 connect =b

24else

:25 raise valueerror('sorry !')

26return

connect(arg)

2728

def main():

29 s = 530#

s = 'jim'

3132 modelfactory =factory(s)

33 result =modelfactory.reminder()

34print(result)

3536

if __name__ =='__main__':

37 main()

第一章  工廠模式

一、為什麼要用工廠模式(工廠方法)

1.跟蹤例項物件

2.講物件的建立和使用解耦

3.在必要時建立物件,提高效能

二、基礎使用模式

1.建立乙個工廠方法(特徵引數):

(1)1個或若干個分配器:

根據特徵引數用來判斷指向哪個工廠

(2)返回工廠物件(即工廠類)

2.建立2個或多個工廠類

(1)擁有命名一致的方法

設計模式學習筆記

1.簡單工廠模式 2.策略模式 3.單一職責原則 就乙個類而言,應該僅有乙個引起它變化的原因 4.開放 封閉原則 就是對軟體實體 類,模組,函式等 應該可以擴充套件,但是不可以修改,無論模組是多麼的 封閉 都會存在一些無法對之的封閉的變化。既然不可能完全封閉,設計人員就必須對他設計的模組應該對哪種變...

模板模式(學習筆記)

模板模式 模板模式看起來很簡單,看起來。先看一下uml圖吧 這不就是乙個繼承麼?子類完成超類的抽象方法?重要的是templetemethod 可以看到,它規定的operation1與operation2的執行順序。定義 定義乙個操作中的演算法 也就是上圖中的templetemethod方法 的骨架,...

設計模式學習筆記

1.單例模式 限制只產生乙個物件。if object null 2.簡單工廠模式 通過乙個工廠類根據條件來建立各種各樣的類。3.工廠方法模式 對工廠類進行改造分解,工廠類公升級為介面,一對一建立工廠類 針對要生產的類 實現工廠介面。問題來了 簡單工廠和工廠方法有什麼優劣?4.迭代器模式 iterat...