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

歡迎訪問 生活随笔!

生活随笔

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

asp.net

各设计模式简要分析

發(fā)布時間:2024/7/19 asp.net 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 各设计模式简要分析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

  設計模式分為三大類:創(chuàng)建型、結構型、行為型。

  其中創(chuàng)建型有:抽象工廠模式、原型模式、單例模式、建造者模式、工廠方法模式。

    結構型模式有:組合模式、享元模式、適配器模式、橋接模式、裝飾模式、外觀模式、代理模式。

    行為型模式有:模板方法模式、迭代器模式、中介者模式、解釋器模式、備忘錄模式、觀察者模式、職責鏈模式、命令模式、策略模式、訪問者模式。

?

  1、工廠方法模式:將工廠和產(chǎn)品都抽象出來,不同具體的實類繼承抽象類,通過工廠子類決定實例化哪種產(chǎn)品,一個工廠只生產(chǎn)一種產(chǎn)品,以后想生產(chǎn)別的產(chǎn)品再建一個單獨的工廠類繼承抽象類,不必修改原有代碼,符合開閉原則。

  2、抽象工廠模式:可以實例化多個產(chǎn)品的工廠方法模式。

  3、建造者模式:它與工廠類有著對比,工廠類模式提供的是單個類的模式,而建造者模式是多個產(chǎn)品集中管理,各個組合,來創(chuàng)建復合對象,其擁有不同的屬性。

  4、原型模式:就是克隆自己,實現(xiàn)的方式,提供一個抽象父類,父類中提供一個克隆方法,子類繼承父類,并實現(xiàn)父類中的克隆方法。在使用過程中,直接調用子類中的克隆方法,就能返回一個具體的子類對象。

  5、單例模式:保證一個類只有一個實例,并提供一個訪問它的全局訪問點。對于一些需要頻繁創(chuàng)建和銷毀的對象單例模式是可以提高系統(tǒng)的性能,但是濫用單例將帶來一些負面問題。

  6、適配器模式:該模式主要就是提供一種轉換的方式,將一個接口轉換成另一個接口,使得原本不兼容的能一起工作。比如讓貓學狗叫。

  7、?橋接模式:就是把抽象化和實現(xiàn)化進行分離,成為獨立模塊,讓兩者能夠獨自變化。用關聯(lián)關系替代繼承關系。

  8、?組合模式:將多個對象組合在一起,然后用樹形結構來表示整體與部分的關系。一般用于處理樹形結構的問題。

  9、裝飾模式:為一個類增加功能。兩個類A與B是同一個類M的子類,然后一個抽象子類A又將另一個子類B作為自己的成員變量,然后通過該抽象類的子類實現(xiàn)對類功能的添加。

  10、外觀模式:做一個門面,然后外界與系統(tǒng)的交互都通過這個門面進行的實現(xiàn)。

  11、享元模式:實現(xiàn)對象的共享,當系統(tǒng)中對象很多的時候,可用此方法減少內(nèi)存的開銷

  12、代理模式:兩個類之間不直接交互,而是通過代理的交互。

  13、職責鏈模式:每個類都有他的上級類,處理完自己的工作后發(fā)給上級,連成一條鏈。

  14、命令模式:在軟件系統(tǒng)中,“行為請求者”與“行為實現(xiàn)者”通常呈現(xiàn)一種緊耦合。但在某些場合,比如要對行為進行“記錄、撤銷/重做、事務”等處理,這里就利用到了命令模式。都只做好自己的事,不需要管這其中是怎么實現(xiàn)的。

  15、解釋器模式:用來定義語言的文法,創(chuàng)建各種各樣的解釋器,解釋語言中的句子。如正則表達式的解釋等。

  16、迭代器模式:提供一個方法順序訪問一個聚合對象的各個元素,而又不需要暴露該對象的內(nèi)部表示迭代器的好處是它是一個接口,這樣你只用用接口約定的方法調用就可以迭代,如果考慮以后可能改變類型用迭代器會靈活點,這對系統(tǒng)的維護和升級具有較高的性能可以提高二次開發(fā)的效率。

  17、中介者模式:對象與對象之間的交互不直接進行,而是通過中介者來實現(xiàn)交互。中介者將對象之間的交互抽取出來,大大減少對象間的關系數(shù)量。

  18、備忘錄模式:在不破壞封裝的前提下,將一個對象完整地保存在另一個對象中,并在需要還原的時候能夠恢復到原先的狀態(tài)。比如一個普通的類有各種各種屬性,備忘錄類就用來儲存這個普通類的屬性值,也有一個類用于儲存?zhèn)渫涱悺?/p>

  19、觀察者模式:多個對象依賴于一個目標對象,當該目標對象發(fā)生改變時,多個對象也會隨之發(fā)生改變。比如鳥看到我一動就會飛走,鳥看到我的狀態(tài)發(fā)生變化的信號就會做出飛走的動作。

  20、狀態(tài)模式:當對象的狀態(tài)改變后,對象的行為也隨之改變,就像改變了類一樣。在類的定義中添加一個狀態(tài),對應不同的狀態(tài),類中的方法有不同的響應。

  21、策略模式:定義一系列算法,然后將每一個算法進行封裝,系統(tǒng)提供不同算法的實現(xiàn),新增或者刪除算法,但是使用決定權在于用戶,外部用戶來決定用哪個算法。

  22、模板方法模式:定義一個操作中的算法的骨架,而將一些步驟延遲到子類中,使得子類可以不改變一個算法的結構即可以重定義該算法得某些特定步驟。

  23、訪問者模式:分離對象數(shù)據(jù)結構和行為的方法,通過此分離,可以為一個被訪問者動態(tài)添加新的操作而無需做其他修改的效果。

    

  

轉載于:https://www.cnblogs.com/hehejeson/articles/6664353.html

總結

以上是生活随笔為你收集整理的各设计模式简要分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。