日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

GOF设计模式

發布時間:2023/12/10 asp.net 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 GOF设计模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 前言
  • 一、設計模式是什么?
  • 二、它的意義
  • 三、軟件設計模式的基本要素
  • 四、GoF 的 23 種設計模式的分類和功能
  • 五、OCP七大原則
  • 總結


前言

設計模式這一詞語對于從事軟件開發者行業的猿友們來說并不陌生,基本上在工作時時常都在用到,那么在講解具體的設計模式之間我想說一下我是怎么看待設計模式的!


一、設計模式是什么?

??官方的說法是:軟件設計模式(Software Design Pattern),又稱設計模式,是一套被反復使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結。它描述了在軟件設計過程中的一些不斷重復發生的問題,以及該問題的解決方案。也就是說,它是解決特定問題的一系列套路,是前輩們的代碼設計經驗的總結,具有一定的普遍性,可以反復使用。
??但我接觸設計模式后:我覺得它是一種思考問題的邏輯方法,是用于解決特定邏輯性問題的解決方案,所以它的學習難度是比較高的,需要通過不斷的使用,來試錯,完成最后的合理使用。

二、它的意義

??對類的封裝性、繼承性和多態性以及類的關聯關系和組合關系的充分理解。
??沒錯它的意義就是這個,怎么說了很抽象,但是的確如此,如果想要真正的在開發者行業中能走遠,我覺得開發者必須要對類的封裝性、繼承性和多態性這些有著充足的理解的實現手段,這對于一個真正的開發產品來說是保障其安全性、可擴展性最基礎的保障。

三、軟件設計模式的基本要素

最關鍵的元素包括以下 4 個主要部分:
??模式名稱
通常用一兩個詞來描述,可以根據模式的問題、特點、解決方案、功能和效果來命名。
??問題
問題(Problem)描述了該模式的應用環境,即何時使用該模式。它解釋了設計問題和問題存在的前因后果,以及必須滿足的一系列先決條件。
??解決方案
模式問題的解決方案(Solution)包括設計的組成成分、它們之間的相互關系及各自的職責和協作方式。
??效果
描述了模式的應用效果以及使用該模式應該權衡的問題,即模式的優缺點。

四、GoF 的 23 種設計模式的分類和功能

根據目的來分:
??創建型模式:用于描述“怎樣創建對象”,它的主要特點是“將對象的創建與使用分離”。GoF 中提供了單例、原型、工廠方法、抽象工廠、建造者等 5 種創建型模式。
??結構型模式:用于描述如何將類或對象按某種布局組成更大的結構,GoF 中提供了代理、適配器、橋接、裝飾、外觀、享元、組合等 7 種結構型模式。
??行為型模式:用于描述類或對象之間怎樣相互協作共同完成單個對象都無法單獨完成的任務,以及怎樣分配職責。GoF 中提供了模板方法、策略、命令、職責鏈、狀態、觀察者、中介者、迭代器、訪問者、備忘錄、解釋器等 11 種行為型模式
我們重點看一下:單例抽象工廠代理裝飾職責鏈觀察者這六種設計模式。

五、OCP七大原則

  • 開閉原則
    ??對擴展開發,對修改關閉
  • 里氏替換原則
    ??繼承必須確保超類所擁有的性質在子類中仍然成立
  • 依賴倒置原則
    ??要面向接口編程,不要面向實現編程
  • 單一職責原則
    ??控制類的粒度大小、將對象解耦、提高其內聚性
  • 接口隔離原則
    ??要為各個類建立它們需要的專用接口
  • 迪米特法則
    ??只與你的直接朋友交談,不跟“陌生人”說話
  • 合成復用原則
    ??盡量先使用組合或者聚合等關聯關系來實現,其次才考慮使用繼承關系來實現。
  • 這7大原則是我們在開發程序的時候嚴格遵照的原則,是一個好的開發程序的基本要求和保障。當然并不是一定要完全遵循所有原則,因為確實蠻難的,我覺得沒有個五六年開發經驗,根本沒法完成。當然并不絕對,畢竟天才也不少。


    總結

    軟件設計模式是多年以來無數前輩們總結出來的經驗,對編程有著非常重要的作用,能避免我們這些才剛入行的猿友們在開發時出現過多的錯誤。

    總結

    以上是生活随笔為你收集整理的GOF设计模式的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。