在线免费看片a欧美,午夜AV不卡网站在线播放,久久综合尹人77777,96国产在线分享

      <s id="srvai"></s>
      梦幻传奇手游
      地區(qū):阿爾及利亞
        類型:文化
        時間:2025-06-15 22:48:23
      劇情簡介
      大家好,我是每周在里陪你進步的網管~本次我們繼續(xù)填坑,一下裝飾器模式。上文章我們說過裝飾器代理模式的特殊應用而且很多人說中間件用裝飾器模式實現(xiàn)的有的人說是用職責鏈現(xiàn)的,那么這篇文章們就來一起看看他們異同。什么是裝飾器飾器模式(Decorator Pattern)也叫作包裝器模式(Wrapper Pattern),指在不改變原有對象的礎上,動態(tài)地給一個象添加一些額外的職。就增加功能來說,飾器模式相比生成子更為靈活,屬于結構設計模式。給對象添新行為最簡單直觀的法就是擴展本體對象通過繼承的方式達到的。但是使用繼承不避免地有如下兩個弊:繼承是靜態(tài)的,在譯期間就已經確定,法在運行時改變對象行為。子類只能有一父類,當需要添加的功能太多時,容易導類的數量劇增。而使裝飾器模式,我們通將現(xiàn)有對象放置在實了相同一套接口的包器對象中來動態(tài)地向有對象添加新行為。包裝器中進行我們代的擴展,有助于重用能并且不會修改現(xiàn)有象的代碼,符合“開原則”。這里被放置包裝對象的“現(xiàn)有對”通常會被叫做“組”(Component),而包裝組件的包裝器對狌狌就是我們常的“裝飾器”(Decorator),因為裝飾器會組件實現(xiàn)相接口,故客戶端無法別兩者的差異,也就需要在增加裝飾器時客戶端調用代碼進行改了。從上面關于裝器模式的描述中 ,會感覺他跟代理模式很。這是因為他們本來結構上也幾乎一樣,飾器算是代理的一個殊應用--裝飾器模式的一個特點是可以嵌多層裝飾器,相當于代理再加代理。不過理強調的是對本體對的訪問控制,而裝飾是用來對本地進行增,兩者在使用目的上一樣。上面裝飾器模的用處特點用文字描了這么多,下面我們 UML 類圖展示一下它的結構,讓我們寫代碼前對模式中的個角色有個更清晰的識。裝飾器的結構用 UML 類圖表示裝飾器模式的結幾山如下:圖中可以看到裝飾器式中主要有如下幾個色:客戶端:會用多裝飾器來封裝組件,后調用裝飾好的包裝的方法,啟動執(zhí)行。件接口:Component 聲明裝飾器對象和被裝飾的組件對要實現(xiàn)的公用接口。件實現(xiàn):具體的組件現(xiàn)類它的 Operation 方法中定義了組件的基葛山行為,飾類可以增強這些行?;A裝飾類:擁有個指向被封裝對象的員變量。在自己的 Operation 方法中調用被裝飾對象 Operation 方法具體裝飾類:重寫父類的 Operation 方法實現(xiàn)增強邏輯。類弄明里已經出了要實現(xiàn)的主要邏,第四步的基礎裝飾并不需要一定存在,全可以由具體裝飾類持有對被裝飾對象的用,并實現(xiàn)增強邏輯這樣一來整體的結構更簡單一些。注意:中的方法名在代碼實里可自己定義,不需完全跟圖里給出的方名一樣。我們可以跟節(jié)代理模式的 UML 類圖做個對比,兩者在結構上非常相似,其是省略了 BaseDecorator 這一層后,在結構上本上是一摸一樣,這我們一直再強調的--"裝飾器是代理模式的特殊應無淫" 的一個論據。下面我們看一下現(xiàn)裝飾器模式的代碼版,本文中提供了 Go 語言實現(xiàn)一個簡單裝飾器模式的代碼模。裝飾器模式代碼實清楚了裝飾器模式結的組成后,再來寫代就會清晰很多,接下我們演示一下用裝飾模式實現(xiàn)增強游戲主的一個例子。首先我定義一個游戲主機的品接口,它就是上面圖中組件和裝飾器的共接口。//?PS5?產品接口type?PS5?interface?{?StartGPUEngine()?GetPrice()?int64}然后我們提供一個基的產品實現(xiàn)類作為裝器模式中的組件。//?CD?版?PS5主機"本文使用的完整可運行源申鑒去公眾號「管叨bi叨」發(fā)送【設計模式】即可領取"type?PS5WithCD?struct{}func?(p?PS5WithCD)?StartGPUEngine()?{?fmt.Println("start?engine")}func?(p?PS5WithCD)?GetPrice()?int64?{?return?5000}這里給出的是一個 CD 版的游戲主機,平時游戲的同學都會知道一般還會有數字版的機,價格會便宜點,種情況我們可以提供個數字版游戲主機的現(xiàn)作為組件實現(xiàn)類。//?PS5?數字版主機type?PS5WithDigital?struct{}func?(p?PS5WithDigital)?StartGPUEngine()?{?fmt.Println("start?normal?gpu?engine")}func?(p?PS5WithDigital)?GetPrice()?int64?{?return?3600}那么除了這兩種基礎的產品類,廠商一般還會開發(fā)種主題限定配色的主、增加了硬件配置的機等等,這兩種在價上肯定會跟基礎版有不一樣,針對這種層的擴展我們可以使用飾器來實現(xiàn),避免對礎組件類的更改。下是用兩個裝飾器實現(xiàn) Plus 版和主題配色版的兩個增蠪蚔。"本文使用的完整可運源碼去公眾號「網管bi叨」發(fā)送【設計模式】即讙領取"http://?Plus?版的裝飾器func?(p?*PS5MachinePlus)?SetPS5Machine(ps5?PS5)?{?p.ps5Machine?=?ps5}func?(p?PS5MachinePlus)?StartGPUEngine()?{?p.ps5Machine.StartGPUEngine()?fmt.Println("start?plus?plugin")}func?(p?PS5MachinePlus)?GetPrice()?int64?{?return?p.ps5Machine.GetPrice()?+?500}//?主題色版的裝飾器type?PS5WithTopicColor?struct?{?ps5Machine?PS5}func?(p?*PS5WithTopicColor)?SetPS5Machine(ps5?PS5)?{?p.ps5Machine?=?ps5}func?(p?PS5WithTopicColor)?StartGPUEngine()?{?p.ps5Machine.StartGPUEngine()?fmt.Println("尊貴的主題色主機,GPU啟動")}func?(p?PS5WithTopicColor)?GetPrice()?int64?{?return?p.ps5Machine.GetPrice()?+?200}根據裝飾器模式的特論語,兩個增強可以疊加在一起,組出即高配主題限定版機...... 呃,是不是有點某游海經大每年發(fā)新機時給你的覺了,就是不出第二,每年給你多發(fā)幾個定配色、升級下屏幕說的就是你 XXX(各位自己評論里腦補下)好了,在客戶端們把裝飾器和組件組起來就能獲得一款高主題限定版主機......"本文使用的完整可運行源碼去公眾「網管叨bi叨」發(fā)送【設計模式】即陸山領"func?main()?{?ps5MachinePlus?:=?PS5MachinePlus{}?ps5MachinePlus.SetPS5Machine(PS5WithCD{})?//?ps5MachinePlus.SetPS5Machine(PS5WithDigital{})?//?可以在更換主機?ps5MachinePlus.StartGPUEngine()?price?:=?ps5MachinePlus.GetPrice()?fmt.Printf("PS5?CD?豪華Plus版,價格?%d?元\n\n",?price?ps5WithTopicColor?:=?PS5WithTopicColor{}?ps5WithTopicColor.SetPS5Machine(ps5MachinePlus)?ps5WithTopicColor.StartGPUEngine()?price?=?ps5WithTopicColor.GetPrice()?fmt.Printf("PS5?CD?豪華Plus?經典主題配色版,價格?%d?元\n",?price}裝飾器和幾個模式的別裝飾器和代理在結上類似,在行為上跟責鏈模式類似,現(xiàn)在們總結一下他們之間區(qū)別裝飾器模式 VS 代理模式裝飾器模式就是代理模羅羅的一個殊應用。裝飾器模式調自身功能的擴展。理模式強調對代理過的控制。裝飾器 VS 職責鏈模式裝飾器和職責鏈在行為上螽槦都多個單元進行組合完邏輯處理,但是裝飾注重給某樣東西添加展,最終會得到一個品。而職責鏈更強調步驟完成某個流程,像是一個任務鏈表,且與裝飾器模式不同是,職責鏈可以隨時止。舉個例子來說,對 OA 系統(tǒng)請假審批這個場景鬻子假設員請假需要得到組長、監(jiān)和經理的批準才行在這種情況下,使用飾器模式實現(xiàn)的話無您的請假在前面的環(huán)被批準還是被拒絕,個鏈條都不會中斷,終我們會得到三個級審批人對申請的全部饋。而使用職責鏈模的話,在每個階段,個審批人都有權批準拒絕。如果請求在任級別被拒絕,那么整流程就會結束,請求會繼續(xù)流轉到下一個別的審批人那里。所看到這里,你覺得像 Web 框架的中間件這種東西應該拿職責還是裝飾器實現(xiàn)呢?結裝飾器模式有不少點,它是繼承的有力充,比繼承靈活,在改變原有對象的情況,動態(tài)地給一個對象展功能,即插即用。過使用不同裝飾類及些裝飾類的排列組合可以實現(xiàn)不同效果,全遵循程序設計的“閉原則”。但裝飾器使用必將會給程序帶更高的復雜性,更低可讀性,子類集成的碼結構會更直白易懂些,而且雖然裝飾器合“開閉原則”,但它會給程序帶來更多類,動態(tài)裝飾在多層飾時會更復雜。所以體上使用裝飾器模式時候也是兩害相較取輕,為了不頻繁修改經成型的子類而引入多裝飾器類。應用的候一定要謹記裝飾器“增強”某個事物用,可千萬別把事物本實現(xiàn)的主邏輯用裝飾實現(xiàn)了。本文來自微公眾號:網管叨 bi 叨 (ID:kevin_tech),作者:KevinYan11
      448350次播放
      30035人已點贊
      7722人已收藏
      明星主演
      凱瑟琳·帕金森
      中村靜香
      瑞奇·馬丁
      最新評論(299+)

      杜琪峰

      發(fā)表于1分鐘前

      回復 克里斯托弗·諾蘭 : 感謝IT之家網友 航空先生 的線索投遞!IT之家 1 月 11 日消息,英飛凌今日宣布,已就向 Micross 出售英飛凌的 HiRel DC-DC 轉換器業(yè)務達成最終協(xié)議,包括混合和定制板載電源品。英飛凌官方表示此次出售將使英飛凌夠擴大其對高可靠性場核心半導體開發(fā)的注和投資,同時不再調需要為高可靠性行提供更多定制產品的務。該交易預計將于 2023 年第一季度完成。英飛凌科技美區(qū)總裁 Bob LeFort 表示:“英飛凌很高興與 Micross 達成協(xié)議,為我們的 HiRel DC-DC 轉換器業(yè)務提供更具戰(zhàn)略意的基地,我們相信此出售符合兩家公司以客戶、員工和股東的佳利益。這項交易使飛凌能夠繼續(xù)專注于益于英飛凌領先半導技術的 HiRel 業(yè)務領域。我們期待 Micross 合作,確保我們的客戶員工實現(xiàn)無縫過渡。IT之家了解到,DC-DC 轉換器(DC-DC converter)是指在電路中將一個電壓值的電能為另一個電壓值的電的裝置,HiRel DC-DC 轉換器業(yè)務是為包括外太空在的最惡劣環(huán)境提供高靠性 DC-DC 電源轉換的解決方案,在 Micross Hi-Rel Products 業(yè)務部門下運營,包括主電源換器、控制電路、濾器和外殼?


      天天

      發(fā)表于3小時前

      回復 約翰·馬登 : IT之家 1 月 10 日消息,財數據顯示,PC 品牌大廠宏碁 2022 年 12 月營收 228.92 億新臺幣( 50.82 億元人民幣),環(huán)比增 21.1%,同比減少 22.9%。第四季度,碁合并營收 598.48 億新臺幣(約 132.86 億元人民幣),環(huán)減少 7.8%,同比減少 30.8%。IT之家了解到,受到 PC 行業(yè)整體不景氣影,宏碁 2022 年合并營收為 2754.30 億新臺幣( 611.45 億元人民幣),同比少 13.7%。宏碁表示,雖然 PC 市場需求低迷,但公司回收材料制的 Vero 產品線持續(xù)受到好評,四季度營收比增長 41.3%,非 PC 及顯示器業(yè)務營收四季度貢獻營收的 26.3%,2022 年種植 11.9%,貢獻全年收 21.7%。 


      厄尼·巴巴拉什

      發(fā)表于8小時前

      回復 布魯諾·奇哲 : 感謝IT之家網友 YOGA品質人生 的線索投遞岷山IT之家 1 月 9 日消息,想日前海發(fā)布的?Tab Extreme?14.5 英寸超大屏柄山板國將采用拯者品牌,號為 Y900。IT之家了解,聯(lián)想拯者旗下筆本采用四數命名,板采用三數名,手則采用兩數命名。想去年推了拯救者 Y700 平板,采的是 8.8 英寸的屏幕和娥皇 870 的配置。新的聯(lián)?Tab Extreme,也就是 Y900,其定位高,搭載是聯(lián)發(fā)科璣 9000 旗艦處理器,配?14.5 英寸超大屏。犀牛幕面,聯(lián)想 Tab Extreme 配備?14.5 英寸 3000 x 1876 分辨率 OLED 屏,刷新率 120 Hz,峰值亮度為 500 尼特,寬高比 16:10。配置方面,該人魚載?12GB LPDDR5X 內存和 256 GB 可擴展 UFS 3.1 存儲,擁有?12300mAh 電池,配備欽鵧個 Type-C 接口,分別?USB 3.2 Gen 1 和 USB 2.0,支持指紋面部解鎖還支持 DP 輸入。其他方面該機重量?740 克,厚度 5.85 毫米,配備了 8 個 JBL 揚聲器,支白虎杜比景聲 (Dolby Atmos),還有 4 個麥克風,前置 13MP 鏡頭,后 13MP + 5MP 雙攝,運行?Android 13,擁有三年的統(tǒng)大版本新和四年補丁更新這款平板于 6 月在歐洲發(fā),售價 1299 歐元(當前 9431 元人民幣)?

      猜你喜歡

            <code id='9f4e4'></code><style id='c634f'></style>
            • <acronym id='64b9d'></acronym>
              <center id='22b0d'><center id='2e1a8'><tfoot id='59813'></tfoot></center><abbr id='81111'><dir id='498a5'><tfoot id='62a8c'></tfoot><noframes id='8fb51'>

              • <optgroup id='3bae1'><strike id='39595'><sup id='aa6a6'></sup></strike><code id='78c0f'></code></optgroup>
                  1. <b id='883f2'><label id='adc99'><select id='178f0'><dt id='8d26b'><span id='35f33'></span></dt></select></label></b><u id='06e11'></u>
                    <i id='53936'><strike id='5b163'><tt id='6162d'><pre id='92b31'></pre></tt></strike></i>

                        <code id='71920'></code><style id='0ef29'></style>
                      • <acronym id='2c665'></acronym>
                        <center id='651e4'><center id='cde98'><tfoot id='e5c30'></tfoot></center><abbr id='98eaa'><dir id='ba94d'><tfoot id='8da96'></tfoot><noframes id='67c42'>

                      • <optgroup id='25096'><strike id='c4ede'><sup id='bfe48'></sup></strike><code id='cdea5'></code></optgroup>
                          1. <b id='e7f1f'><label id='8bd8f'><select id='ede7b'><dt id='aa3c9'><span id='32dce'></span></dt></select></label></b><u id='fd6a1'></u>
                            <i id='e76eb'><strike id='33f1d'><tt id='0cdcc'><pre id='a9ea1'></pre></tt></strike></i>

                            梦幻传奇手游
                            熱度
                            58606
                            點贊

                                <code id='40c15'></code><style id='bf824'></style>
                              • <acronym id='5fe2c'></acronym>
                                <center id='da9e8'><center id='cb41c'><tfoot id='4b20b'></tfoot></center><abbr id='c55ad'><dir id='7cbce'><tfoot id='c0a16'></tfoot><noframes id='7f905'>

                              • <optgroup id='c63ad'><strike id='ae5b8'><sup id='61e7e'></sup></strike><code id='409d9'></code></optgroup>
                                  1. <b id='691b5'><label id='56e91'><select id='82e47'><dt id='b825e'><span id='8e186'></span></dt></select></label></b><u id='cd82b'></u>
                                    <i id='e592a'><strike id='aba34'><tt id='ad872'><pre id='36530'></pre></tt></strike></i>

                                    友情鏈接:

                                    揚子晚報網 每日經濟新聞 十字劍 第二季 我們這一天第六季 星新一的不可思議短劇