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

歡迎訪問 生活随笔!

生活随笔

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

asp.net

设计模式简介 - Introduction to Design Patterns

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

設計模式簡介 - Introduction to Design Patterns

1. 設計模式 (Design Patterns)

設計模式是軟件設計中常見問題的典型解決方案,可用于解決代碼中反復出現的設計問題。模式并不是一段特定的代碼,而是解決特定問題的一般性概念。

模式和算法在概念上都是已知特定問題的典型解決方案。但算法總是明確定義達成特定目標所需的一系列步驟,而模式則是對解決方案的更高層次描述。同一模式在兩個不同程序中的實現代碼可能會不一樣。算法更像是菜譜:提供達成目標的明確步驟。而模式更像是藍圖:你可以看到最終的結果和模式的功能,但需要自己確定實現步驟。

1.1 模式的分類 (Classification of patterns)

最基礎的、底層的模式是慣用技巧,一般只能在一種編程語言中使用。
最通用的、高層的模式是架構模式,開發者可以在任何編程語言中使用這類模式。

模式可以根據其意圖或目的分為三種類別:

  • 創建型模式 (Creational patterns) 提供創建對象的機制,提升已有代碼的靈活性和可復用性。
  • 結構型模式 (Structural patterns) 將對象和類組裝成較大的結構,并同時保持結構的靈活和高效。
  • 行為模式 (Behavioral patterns) 負責對象間的高效溝通和職責委派。

1.2 模式

模式是面向對象設計中常見問題的典型解決方案。模式的概念是由 Christopher Alexander 在其著作 A Pattern Language: Towns, Buildings, Construction 中首次提出的。

1994 年,Erich Gamma, John Vlissides, Ralph Johnson, and Richard Helm 出版
了 Design Patterns: Elements of Reusable Object-Oriented Software 一書,將設計模式的概念應用到程序開發領域中,提供了 23 個模式來解決面向對象程序設計中的各種問題。 由于書名太長, 簡稱為 the book by the gang of four,進一步簡化為 the GOF book。

  • 設計模式是針對軟件設計中常見問題的工具箱,其中的工具是各種經過實踐驗證的解決方案。
  • 設計模式定義了一種讓你和團隊成員能夠更高效溝通的通用語言。
gang [ɡ??]:n. 一群,一幫,一伙,一隊 v. 去,把 ... 編成班組,合伙攻擊,使成套

1.3 爭議

  • 一種針對不完善編程語言的蹩腳解決方案

通常當所選編程語言或技術缺少必要的抽象功能時,人們才需要設計模式。在這種情況下,模式是一種可為語言提供更優功能的蹩腳解決方案。例如策略模式在絕大部分現代編程語言中可以簡單地使用匿名 (lambda) 函數來實現。

  • 低效的解決方案

模式試圖將已經廣泛使用的方式系統化。 許多人會將這樣的統一化認為是某種教條, 他們會 “全心全意” 地實施這樣的模式, 而不會根據項目的實際情況對其進行調整。

  • 不當使用

如果你只有一把鐵錘, 那么任何東西看上去都像是釘子。在學習了某個模式后, 他們會在所有地方使用該模式, 即便是在較為簡單的代碼也能勝任的地方也是如此。

References

https://sourcemaking.com/design_patterns
https://refactoringguru.cn/design-patterns
https://refactoring.guru/design-patterns
A Pattern Language: Towns, Buildings, Construction
Design Patterns: Elements of Reusable Object-Oriented Software

總結

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

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