python企業獲利模式 python工廠模式實現

2021-10-19 20:43:42 字數 776 閱讀 9588

雖然有了乙個簡單的工廠,但在實際使用工廠的過程中,我們會發現新問題:如果我們要新增乙個「產品」,例如audi的汽車,我們除了新增乙個audi類外還要修改******ca***ctory內的product_car方法。這樣就違背了軟體設計中的開閉原則[1],即在擴充套件新的類時,盡量不要修改原有**。所以我們在簡單工廠的基礎上把******ca***ctory抽象成不同的工廠,每個工廠對應生成自己的產品,這就是工廠方法。

__metaclass__ = abc.abcmeta

@abc.abstractmethod    def product_car(self):        passclass mercedesfactory(abstractfactory):    """梅赫西迪工廠    """

def product_car(self):        return mercedes()class bmwfactory(abstractfactory):    """寶馬工廠    """

def product_car(self):        return bmw()

我們把工廠抽象出來用abc模組[2]實現了乙個抽象的基類abstractfactory,這樣就可以通過特定的工廠來獲得特定的產品例項了:c1 = mercedesfactory().product_car()

c2 = bmwfactory().product_car()

每個工廠負責生產自己的產品也避免了我們在新增產品時需要修改工廠的**,而只要增加相應的工廠即可。如新增乙個audi產品,只需新增乙個audi類和audifactory類。

mac終端輸入python預設開啟python3

1.終端開啟 bash profile檔案 open bash profile 2.新增以下內容到.bash profile檔案 setting path for python 3.5 path library frameworks python.framework versions 3.5 bin...

Python學習入門8 新人怎麼學習Python

人生苦短 我用python 不論學習什麼語言 乙個好的基礎才是你成為高階開發人員的基石。隨著人工智慧和大資料的火熱,python成為了廣大科學家和普通大眾的學習語言。在學習python的過程中,有很多人感到迷茫,不知道自己該從什麼地方入手,今天我們就來說一些新手該如何學習python程式設計。在學習...

python金融分析 用於金融分析的Python包

recommended by activestate.1.numpy 實現各種陣列物件函式和傅利葉變換等等科學計算模組。3.matplotlib 乙個跨平台的數值繪圖包,可繪製高質量的2d,3d影象。4.mysql for python python操作mysql資料庫的介面軟體包。5.pyqt 乙...