日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python程序設計模式

系統 1717 0

Python設計模式

設計模式(Design Pattern)是一套被反復使用、多數人知曉的、經過分類的、代碼設計經驗的總結。 使用設計模式的目的:為了代碼可重用性、讓代碼更容易被他人理解、保證代碼可靠性。 設計模式使代碼編寫真正工程化;設計模式是軟件工程的基石脈絡,如同大廈的結構一樣。

所有的設計模式示例都是來源于 菜鳥教程 ,每個設計模式的UML都可以在菜鳥教程中找到相應的示例

github地址:Python設計模式

以工廠模式為例:

工廠模式在菜鳥教程中的UML圖為
Python程序設計模式_第1張圖片
工廠模式在github中的代碼為:

            
              import abc

class Shape(metaclass=abc.ABCMeta):
    @abc.abstractmethod
    def draw(self):
        pass

class Circle(Shape):
    def draw(self):
        print("Inside Rectangle::draw() method.")

class Square(Shape):
    def draw(self):
        print("Inside Square::draw() method.")

class Rectangle(Shape):
    def draw(self):
        print("Inside Circle::draw() method.")

class ShapeFactory(object):
    def getShape(self, shapeType):
        if shapeType=="CIRCLE":
            return Circle()
        elif shapeType=="RECTANGLE":
            return Rectangle()
        elif shapeType=="SQUARE":
            return Square()
        else:
            return None

if __name__ == '__main__':
    '''
    工廠模式的優點:
    1. 一個調用者想創建一個對象,只要知道其名稱
    2. 擴展性高,如果想增加一個產品,只要擴展一個工廠類就可以
    3. 屏蔽產品的具體實現,調用者只關心產品的接口
    '''
    shapeFactory = ShapeFactory()
    # 獲取Cicle、Rectangle、Square的對象
    shape1 = shapeFactory.getShape("CIRCLE")
    shape2 = shapeFactory.getShape("RECTANGLE")
    shape3 = shapeFactory.getShape("SQUARE")
    #分別調用draw()方法
    shape1.draw()
    shape2.draw()
    shape3.draw()

            
          

在main的注釋部分我會給出該設計模式的優點,并且在main中給出該示例的客戶端調用


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 全南县| 吉木萨尔县| 汤原县| 保定市| 襄城县| 蒙山县| 靖安县| 肥东县| 呼和浩特市| 南和县| 浮梁县| 闽清县| 英吉沙县| 潢川县| 买车| 扬中市| 防城港市| 二手房| 吉木萨尔县| 石门县| 白玉县| 阳高县| 泗洪县| 天津市| 淮北市| 金秀| 灌南县| 浦江县| 肇州县| 盐城市| 略阳县| 安国市| 罗甸县| 新津县| 祁阳县| 微博| 长乐市| 双牌县| 石楼县| 宜章县| 类乌齐县|