pattern 學習記錄

2021-06-19 16:07:33 字數 878 閱讀 4345

1. 單例模式

只有乙個例項、它必須自行建立這個例項,不需要顯示的手動去建立例項、它必須自行向整個系統提供這個例項。

在python中模組就是乙個實現單例很好的工具,

python的模組:

所有變數都會繫結到模組

模組只需要初始化一次

import 機制是執行緒,安全的(保證在併發狀態下模式也只有乙個例項)

慣用方法:

在命名模組的時候,首個字母大寫   monitor.py

__all__

2. 裝飾器

pythonic的裝飾器

def func(arg):

def _(tmp = 0.0):

return tmp + arg

return _

a = func(0.99)

b = func(0.1)

c = func(0.2)

print a(b(c()))

-----> 1.2

3. 動態語言特有的設計模式: mixin  ( and duck typing )

動態地改變例項的型別的基類,在不修改生成例項過程的情況下,給例項增加(改變)功能。可用它實現外掛程式框架。

class bird(object):

pass

bird = bird()

class flymixin:

def fly(self):

print  "i can fly."

bird.__class__.__bases__ += (flymixin,)

bird.fly()

--->  i can fly.

工具:docopt 直譯器模式 (vs. getopt, optparse, argparse)

Pattern 筆記 組合模式

也被稱為整體 部分模式,不管是整體還是部分,最終都是通過乙個方法來操作 部分 整體場景,樹形選單,檔案 資料夾的管理 linux 系統目錄,頂層抽象 author zyred createtime 2020 9 9 14 03 public abstract class directory 方法抽象...

晶元功能測試pattern除錯

連續2周去了上海advantest除錯量產晶元的功能測試pattern。交通 打的在田林路,古美路口下。這次我用perl直接生成asc格式的pattern,除錯起來非常方便。有需要修改的地方直接可以修改。對除錯的時間不宜估計得太樂觀。11 21,修改perl,使之符合asc格式 11 22,將i2c...

Java的Pattern和Matcher使用

這裡借網易2017年的筆試題進行介紹。牛牛拿到了乙個藏寶圖,順著藏寶圖的指示,牛牛發現了乙個藏寶盒,藏寶盒上有乙個機關,機關每次會顯示兩個字串 s 和 t,根據古老的傳說,牛牛需要每次都回答 t 是否是 s 的子串行。注意,子串行不要求在原字串中是連續的,例如串 abc,它的子串行就有 8 種。pu...