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

歡迎訪問 生活随笔!

生活随笔

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

asp.net

谈谈设计模式

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

大家都知道,設計模式分3類23種,創建型5種,結構型7種,行為型11種。

創建型,字面意思就是用于創建對象的,我們只要創建一個全局共享的對象,比如對模塊接口的封裝,那么就用單例模式;我們要創建很多個對象,就用工廠方法,一個具體的工廠接口創建對象;我們要創建一組相關的對象,就用抽象工廠,將創建各種對象的工廠抽象出來;我們要通過一個原型創建對象,并拷貝原型中的內容到新創建的對象中呢,那就用原型模式;要創建復雜的對象呢,一個對象的創建分為很多步驟,并且我們希望通過控制步驟創建不同的復雜對象,那么就用builder模式,通過傳入direactor不同的builder產生不同的對象。

結構型,字面意思就是描述對象結構的,我想分為3種對象間的結構和4種對象內的結構,說到結構,那么我們第一能想到的就是’部分-整體‘的結構關系,生活中我們看到的物體都是部分組成的整體,那就是組合模式,比如family-tree;除了’部分-整體‘的關系,還有就是平行關系,大家都是一個對象,那么管理這種對象的容器就是享元模式;然后就是橋梁結構,橋梁結構就是將一個部分和另一部分通過橋梁搭連起來,設計模式里的橋接模式就是將接口和實現分離,然后橋接起來,具體說就是接口類+實現類,提供給用戶的是接口類,將創建類指針傳遞給接口類實現功能;對象或模塊間接口兼容性轉換的(比如c++ wrappe c 系統api),用adapter模式,這里只是一對一轉換接口,轉換形式并不改變功能;假如要一對多的接口轉換呢,那么就用facade模式,將多個功能接口轉換為一個用戶關心功能合并的接口;我們知道對象的功能也是通過接口提供給用戶的,那么我們希望增加接口的功能,但是又不能改變對象或者生成子類,那么就用裝飾器模式,通過把對象指針傳遞給一個裝飾器,裝飾器提供的接口與對象接口相同,并在調用對象接口前后增加功能;這幾種都是對象的接口或功能相關的,那么現在我們希望控制或記錄對一個對象的訪問呢,那就是proxy模式,比如智能指針,他只是提供一個對對象訪問的計數,而且他和對象是一對一的關系,并不像裝飾器根據功能可以動態的定義很多裝飾器。

行為型,字面意思就是描述對象行為的,c++的多態是一個行為,不過只是通過將子類對象賦值給基類指針實現,這里我把行為模式分為行為的封裝7種,對象間行為2種,方法的預定義行為1種,解釋語法行1種共4類;舉個例子,人是一個對象,他有不同的狀態(心情),內部狀態不同時對外表現行為也不同;他有不同的知識(算法)儲備,知道該什么時候用感情去感化,什么時候用數學方法;他會與外界通信:電話或者網絡,而不是一個與世隔絕的人;他在不同的社會關系種表現出的行為也是不同的,比如對待陌生人和熟人;封裝了一個操作,將命令對象設置下去,需要的地方調用命令對象的方法,設置回調,在需要的地方調用回調;封裝了多個不同對象的操作,visitor模式;封裝了訪問和遍歷集合中對象的方式,迭代器模式;封裝了不同內部自變化狀態,消除if-else,用戶只管調用操作并不改變狀態,外部調用同一個操作時表現出不同行為(外部并知道當前內部狀態,狀態為內部自變化);封裝了不同算法,通過strategy對象切換,消除switch-case;封裝了不同對象間的通信行為,中介者模式,將各個對象的通信抽象統一起來;封裝了對象的上一個狀態,備忘錄模式;上面都是封裝行為,現在說說對象間的行為,將多個對象連接成鏈,并允許一個命令進行傳遞,那么就是職責鏈模式;將一個對象的狀態變化通知多個感興趣的對象,基于發布-訂閱模型,有觀察者和目標兩個角色,那就是觀察者模式;要解釋一段表達式要表達的內容,也就是求一段表達式的結果,比如執行正則表達式,c++布爾表達式,那就是解釋器模式;現在要規范一個子類的算法行為,讓子類按基類定義的行為在子類選擇重定義某些部分,那就是模板方法模式。對行為的封裝7種(不同對象間的2種,相同對象集合1種,1個對象的4種),對一個表達式的解釋行為1種,定義算法的結構以指導子類的行為1種,對象間的行為2種;定義必須實現的純虛函數,可以重寫的virtual函數,選擇定義的覆蓋同名空函數實現;模板方法非常基本,抽象類與具體類實現種非常常見,比如ACE框架,子類繼承時選擇感興趣的方法重寫;單個對象封裝行為2個,命令模式封裝了一個對象一個的操作,備忘錄模式封裝記錄了一個對象的上一次狀態,visitor模式封裝了多個對象的操作,mediator封裝了多個對象的通信,迭代器封裝了相同對象集合的遍歷和訪問;注意visitor和mediator的主角時visitor和mediator,而不是他們封裝的對象,所以我不劃分為對象間行為而是一種封裝行為;兩個s開頭的分別封裝了不同狀態和不同算法;兩個對象間行為,職責鏈允許請求在不同對象間傳遞,觀察者模式基于發布-訂閱模型,實現通知;模板方法,寫c++的人都用過的,定義一個面試基類,里面有做題,自我介紹,問講;然后子類就根據具體職位實現了,技術類,銷售類流程不是一樣的;技術類里面有c++,java,ios也有差別;解釋器,沒用過,不過知道時干什么的,舉2個例子,搜索正則表達式,find,ls,grep,根據關鍵字過濾,從左往右;布爾表達式a==b||c==d,編譯器或者人計算布爾表達式的值,根據操作符優先級規則,從左往右。

總結

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

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

主站蜘蛛池模板: 国产小视频91 | 欧美人与禽猛交乱配视频 | 欧美日韩在线免费播放 | 最近中文字幕免费视频 | 国产人成无码视频在线观看 | 婷婷网址 | 日韩成人高清视频在线观看 | 九九热视频在线观看 | 中文字幕国产精品 | 久久精品国内 | 欧美 日韩 中文 | av动漫免费观看 | 亚洲一区在线免费 | 九一福利视频 | 久久亚洲aⅴ无码精品 | 中文字幕在线一 | 好吊视频在线观看 | 亚洲黄视频 | www.久久爱 | 亚洲日本一区二区 | 久久都是精品 | 天天操中文字幕 | 一级特黄毛片 | 中文字幕精品无码一区二区 | 午夜激情网站 | 国产一级片一区 | 一区二区三区国产在线观看 | 人人妻一区二区三区 | 五月激情综合网 | 日本a级黄 | 黄p在线播放 | 久久白浆 | 国产毛片高清 | 欧美视频一区二区三区在线观看 | 精品一区二区中文字幕 | 总受合集lunjian双性h | 日韩毛片高清在线播放 | 97人妻人人澡人人爽人人精品 | 国产高清av在线 | 欧美性色黄 | 成年人午夜视频 | 中文字幕免费视频观看 | 亚洲成年人在线观看 | 超污巨黄的小短文 | 双性懵懂美人被强制调教 | 成人黄色在线看 | 91久色视频 | 香蕉视频免费在线播放 | 亚洲美女操 | 亚洲精品视频在线播放 | 99精品视频免费版的特色功能 | 国产亚洲精品美女久久久久 | 谁有免费的黄色网址 | 日本在线免费视频 | 91片看 | 日干夜操 | 国产成人亚洲精品自产在线 | 成人69视频 | 欧美一卡二卡三卡 | 亚洲精品你懂的 | 91中出| 97视频在线观看免费 | 日韩电影第一页 | 蜜桃视频色 | 好大好爽好舒服 | 精品人妻一区二区三区换脸明星 | 亚洲一区二区三区色 | 国产精品一区二区人妻喷水 | 夜夜操免费视频 | 日韩理论在线观看 | 国产成人无码一区二区三区在线 | 午夜免费福利影院 | 刘亦菲国产毛片bd | 色吧综合网 | 黄色三级免费观看 | 九一亚色 | 91偷拍网| 欧美乱大交xxxxx潮喷l头像 | 小敏的受孕日记h | 午夜剧场欧美 | 日韩欧美精品在线观看 | 中文字幕亚洲无线码在线一区 | 国产伦精品一区二区三区在线观看 | 国产精品毛片一区二区在线看舒淇 | 国产高潮呻吟久久 | 亚洲第一成肉网 | 日韩精品无码一本二本三本色 | 久久婷婷亚洲 | 综合爱爱网| 黄色片久久久久 | 国产精品人成在线观看免费 | 日韩精品免费一区二区三区竹菊 | 91亚洲精品久久久蜜桃借种 | 精品久久无码中文字幕 | 黑人大群体交免费视频 | 国产片淫乱18一级毛片动态图 | 日本精品在线一区 | 国产在线一区二区 | 99国产视频在线 |