国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

模式分類與“組件協(xié)作模式”

這篇具有很好參考價(jià)值的文章主要介紹了模式分類與“組件協(xié)作模式”。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

1. GOF-23 模式分類

從目的來(lái)看:

  • 創(chuàng)建型(Creational)模式:將對(duì)象的部分創(chuàng)建工作延遲到子類或者其他對(duì)象,從而應(yīng)對(duì)需求變化為對(duì)象創(chuàng)建時(shí)具體類型實(shí)現(xiàn)引來(lái)的沖擊。
  • 結(jié)構(gòu)型(Structural)模式:通過(guò)類繼承或者對(duì)象組合獲得更靈活的結(jié)構(gòu),從而應(yīng)對(duì)需求變化為對(duì)象的結(jié)構(gòu)帶來(lái)的沖擊。
  • 行為型(Behavioral)模式:通過(guò)類繼承或者對(duì)象組合來(lái)劃分類與對(duì)象間的職責(zé),從而應(yīng)對(duì)需求變化為多個(gè)交互的對(duì)象帶來(lái)的沖擊。

從范圍來(lái)看:

  • 類模式處理類與子類的靜態(tài)關(guān)系。
  • 對(duì)象模式處理對(duì)象間的動(dòng)態(tài)關(guān)系。

?2. 從封裝變化角度對(duì)模式分類

模式分類與“組件協(xié)作模式”,設(shè)計(jì)模式,template method,strategy,觀察者模式,策略模式

3.重構(gòu)獲得模式 Refactoring to Patterns

  • 面向?qū)ο笤O(shè)計(jì)模式是“好的面向?qū)ο笤O(shè)計(jì)”,所謂“好的面向?qū)ο笤O(shè)計(jì)”指是那些可以滿足“應(yīng)對(duì)變化,提高復(fù)用”的設(shè)計(jì)。
  • 現(xiàn)代軟件設(shè)計(jì)的特征是“需求的頻繁變化”。設(shè)計(jì)模式的要點(diǎn)是“尋找變化點(diǎn),然后在變化點(diǎn)處應(yīng)用設(shè)計(jì)模式,從而來(lái)更好地應(yīng)對(duì)需求的變化”.“什么時(shí)候、什么地點(diǎn)應(yīng)用設(shè)計(jì)模式”比“理解設(shè)計(jì)模式結(jié)構(gòu)本身”更為重要。
  • 設(shè)計(jì)模式的應(yīng)用不宜先入為主,一上來(lái)就使用設(shè)計(jì)模式是對(duì)設(shè)計(jì)模式的最大誤用。沒(méi)有一步到位的設(shè)計(jì)模式。敏捷軟件開(kāi)發(fā)實(shí)踐提倡的“RefactoringtoPatterns”是目前普遍公認(rèn)的最好的使用設(shè)計(jì)模式的方法。

模式分類與“組件協(xié)作模式”,設(shè)計(jì)模式,template method,strategy,觀察者模式,策略模式

?3.“組件協(xié)作”模式:

現(xiàn)代軟件專業(yè)分工之后的第一個(gè)結(jié)果是“框架與應(yīng)用程序的劃分”,“組件協(xié)作”模式通過(guò)晚期綁定,來(lái)實(shí)現(xiàn)框架與應(yīng)用程序之間的松耦合,是二者之間協(xié)作時(shí)常用的模式。

典型模式

  • TemplateMethod
  • Observer/Event
  • Strategy

?4.Template Method 模式

動(dòng)機(jī)(Motivation)

  • 在軟件構(gòu)建過(guò)程中,對(duì)于某一項(xiàng)任務(wù),它常常有穩(wěn)定的整體操作結(jié)構(gòu),但各個(gè)子步驟卻有很多改變的需求,或者由于固有的原因(比如框架與應(yīng)用之間的關(guān)系)而無(wú)法和任務(wù)的整體結(jié)構(gòu)同時(shí)實(shí)現(xiàn)。
  • 如何在確定穩(wěn)定操作結(jié)構(gòu)的前提下,來(lái)靈活應(yīng)對(duì)各個(gè)子步驟的變化或者晚期實(shí)現(xiàn)需求?

?模式定義:

定義一個(gè)操作中的算法的骨架 (穩(wěn)定),而將一些步驟延遲(變化)到子類中。Template Method使得子類可以不改變(復(fù)用)一個(gè)算法的結(jié)構(gòu)即可重定義(override 重寫(xiě))該算法的某些特定步驟。

模式分類與“組件協(xié)作模式”,設(shè)計(jì)模式,template method,strategy,觀察者模式,策略模式

模式分類與“組件協(xié)作模式”,設(shè)計(jì)模式,template method,strategy,觀察者模式,策略模式?

模式分類與“組件協(xié)作模式”,設(shè)計(jì)模式,template method,strategy,觀察者模式,策略模式?

結(jié)構(gòu):

模式分類與“組件協(xié)作模式”,設(shè)計(jì)模式,template method,strategy,觀察者模式,策略模式

模式分類與“組件協(xié)作模式”,設(shè)計(jì)模式,template method,strategy,觀察者模式,策略模式

?5.Strategy 策略模式

動(dòng)機(jī)(Motivation)

  • 在軟件構(gòu)建過(guò)程中,某些對(duì)象使用的算法可能多種多樣,經(jīng)常改變,如果將這些算法都編碼到對(duì)象中,將會(huì)使對(duì)象變得異常復(fù)雜;而且有時(shí)候支持不使用的算法也是一個(gè)性能負(fù)擔(dān)。
  • 如何在運(yùn)行時(shí)根據(jù)需要透明地更改對(duì)象的算法?將算法與對(duì)象本身解耦,從而避免上述問(wèn)題?

?模式定義

定義一系列算法,把它們一個(gè)個(gè)封裝起來(lái),并且使它們可互相替換(變化)。該模式使得算法可獨(dú)立于使用它的客戶程序(穩(wěn)定)而變化(擴(kuò)展,子類化)。
——《設(shè)計(jì)模式》GoF

模式分類與“組件協(xié)作模式”,設(shè)計(jì)模式,template method,strategy,觀察者模式,策略模式?要點(diǎn)總結(jié)

  • Strategy及其子類為組件提供了一系列可重用的算法,從而可以使得類型在運(yùn)行時(shí)方便地根據(jù)需要在各個(gè)算法之間進(jìn)行切換。
  • Strategy模式提供了用條件判斷語(yǔ)句以外的另一種選擇,消除條件判斷語(yǔ)句,就是在解耦合。含有許多條件判斷語(yǔ)句的代碼通常都需要Strategy模式。
  • 如果Strategy對(duì)象沒(méi)有實(shí)例變量,那么各個(gè)上下文可以共享同一個(gè)Strategy對(duì)象

?6.observer觀察者模式

動(dòng)機(jī)(Motivation)

  • 在軟件構(gòu)建過(guò)程中,我們需要為某些對(duì)象建立一種“通知依賴關(guān)系”——一個(gè)對(duì)象(目標(biāo)對(duì)象)的狀態(tài)發(fā)生改變,所有的依賴對(duì)象(觀察者對(duì)象)都將得到通知。如果這樣的依賴關(guān)系過(guò)于緊密,將使軟件不能很好地抵御變化。
  • 使用面向?qū)ο蠹夹g(shù),可以將這種依賴關(guān)系弱化,并形成一種穩(wěn)定的依賴關(guān)系。從而實(shí)現(xiàn)軟件體系結(jié)構(gòu)的松耦合

?模式定義

定義對(duì)象間的一種一對(duì)多(變化)的依賴關(guān)系,以便當(dāng)一個(gè)對(duì)象(Subject)的狀態(tài)發(fā)生改變時(shí),所有依賴于它的對(duì)象都得到通知并自動(dòng)更新?!对O(shè)計(jì)模式》GoF

模式分類與“組件協(xié)作模式”,設(shè)計(jì)模式,template method,strategy,觀察者模式,策略模式?要點(diǎn)總結(jié)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-732228.html

  • 使用面向?qū)ο蟮某橄螅琌bserver模式使得我們可以獨(dú)立地改變目標(biāo)與觀察者,從而使二者之間的依賴關(guān)系達(dá)致松耦合。
  • 目標(biāo)發(fā)送通知時(shí),無(wú)需指定觀察者,通知(可以攜帶通知信息作為參數(shù))會(huì)自動(dòng)傳播。
  • 觀察者自己決定是否需要訂閱通知,目標(biāo)對(duì)象對(duì)此一無(wú)所知。
  • Observer模式是基于事件的UI框架中非常常用的設(shè)計(jì)模式,也是MVC模式的一個(gè)重要組成部分。

到了這里,關(guān)于模式分類與“組件協(xié)作模式”的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 設(shè)計(jì)模式第15講——模板模式(Template)

    設(shè)計(jì)模式第15講——模板模式(Template)

    模板模式是一種基于 繼承 實(shí)現(xiàn)的設(shè)計(jì)模式,它是 行為型 的模式。 主要思想是將定義的算法抽象成一組步驟,在抽象類種定義算法的骨架,把具體的操作留給子類來(lái)實(shí)現(xiàn)。 通俗地說(shuō),模板模式就是將某一行為制定一個(gè)框架,然后子類填充細(xì)節(jié)。比如說(shuō)做菜,流程通常就是洗

    2024年02月11日
    瀏覽(15)
  • 設(shè)計(jì)模式詳解(一):工廠方法——Factory Method

    設(shè)計(jì)模式詳解(一):工廠方法——Factory Method

    工廠方法是一種創(chuàng)建型設(shè)計(jì)模式。所謂創(chuàng)建型設(shè)計(jì)模式是說(shuō)針對(duì)創(chuàng)建對(duì)象方面的設(shè)計(jì)模式。在面向?qū)ο蟮木幊陶Z(yǔ)言里,我們通過(guò)對(duì)象間的相互協(xié)作,共同完成復(fù)雜的業(yè)務(wù)邏輯,因而對(duì)象之間存在著依賴關(guān)系。 當(dāng)對(duì)象A依賴對(duì)象B時(shí),我們不采取直接創(chuàng)建對(duì)象B的方式,即 B produ

    2024年02月16日
    瀏覽(22)
  • Factory Method Pattern 工廠方法模式簡(jiǎn)介與 C# 示例【創(chuàng)建型】【設(shè)計(jì)模式來(lái)了】

    Factory Method Pattern 工廠方法模式簡(jiǎn)介與 C# 示例【創(chuàng)建型】【設(shè)計(jì)模式來(lái)了】

    一句話解釋: ??實(shí)體類和工廠類均為單獨(dú)實(shí)現(xiàn),不影響已實(shí)現(xiàn)的類,方便擴(kuò)展。 工廠方法模式(Factory Method Pattern)是一種創(chuàng)建型模式,它允許客戶端通過(guò)工廠方法來(lái)創(chuàng)建對(duì)象,而不是直接使用構(gòu)造函數(shù)。這樣可以讓客戶端代碼更加靈活,同時(shí)保持實(shí)現(xiàn)的獨(dú)立性。工廠方法

    2024年02月06日
    瀏覽(60)
  • 模板方法模式(Template Method)

    模板方法模式(Template Method)

    模板方法模式是一種行為設(shè)計(jì)模式,在超類中定義了一個(gè)算法的框架,而將一些步驟的實(shí)現(xiàn)延遲到子類中,使得子類可重定義該算法的特定步驟。 模板方法模式包含如下角色: Abstract -Class,抽象類,實(shí)現(xiàn)一個(gè)模板方法,定義了算法的骨架。需要說(shuō)明的是,算法中的步驟可以

    2024年02月14日
    瀏覽(20)
  • 設(shè)計(jì)模式的分類及Spring中用到的設(shè)計(jì)模式

    在《設(shè)計(jì)模式:可復(fù)用面向?qū)ο筌浖幕A(chǔ)》(Design Patterns: Elements of Reusable Object-Oriented Software)一書(shū)中,提出了 23 種設(shè)計(jì)模式,通常稱為 GoF(Gang of Four)設(shè)計(jì)模式。這些設(shè)計(jì)模式被分為以下三種類型: 創(chuàng)建型模式(Creational Patterns): 工廠方法模式(Factory Method Pattern) 抽象

    2024年02月22日
    瀏覽(19)
  • 設(shè)計(jì)模式原則及分類

    設(shè)計(jì)模式原則及分類

    一、概念 設(shè)計(jì)模式 :(Design pattern)是前輩們對(duì)代碼開(kāi)發(fā)經(jīng)驗(yàn)的總結(jié),是解決特定問(wèn)題的一系列套路。用來(lái)提高代碼可復(fù)用性、可維護(hù)性、可讀性、穩(wěn)健性以及安全性。 二、設(shè)計(jì)模式原則: 單一職責(zé)原則(Single Responsibility Principle) :一個(gè)類應(yīng)該只有一個(gè)發(fā)生變化的原因。

    2024年02月11日
    瀏覽(17)
  • 淺析五種 React 組件設(shè)計(jì)模式

    淺析五種 React 組件設(shè)計(jì)模式

    作為一名 React 開(kāi)發(fā)者,你可能會(huì)面臨下面幾個(gè)問(wèn)題: 如何構(gòu)建一個(gè)高復(fù)用度性的組件,使其適應(yīng)不同的業(yè)務(wù)場(chǎng)景? 如何構(gòu)建一個(gè)具有簡(jiǎn)單?API的組件,使其易于使用? 如何構(gòu)建一個(gè)在 UI 和功能方面具有可擴(kuò)展性的組件? 為解決上述問(wèn)題,下面介紹五種 React 組件設(shè)計(jì)模式,

    2024年02月02日
    瀏覽(20)
  • 步入React正殿 - React組件設(shè)計(jì)模式

    步入React正殿 - React組件設(shè)計(jì)模式

    目錄 擴(kuò)展學(xué)習(xí)資料 高階組件 @/src/components/hoc/withTooltip.js @/src/components/hoc/itemA.jsx @/src/components/hoc/itemB.jsx @/src/App.js 函數(shù)作為子組件【Render pprops】 函數(shù)作為子組件 @/src/components/rp/itemC.jsx【父組件】 @/src/components/rp/withTooltip.js【子組件】 練習(xí) 資料名稱 鏈接 擴(kuò)展閱讀 React組件R

    2024年02月12日
    瀏覽(16)
  • [Unity] 單例設(shè)計(jì)模式, 可供繼承的單例組件模板類

    一個(gè)可供繼承的單例組件模板類: 因?yàn)?Unity 是單線程的, 所以在這里沒(méi)有必要使用雙檢索 例如你要?jiǎng)?chuàng)建一個(gè)全局的單例管理類, 可以這樣使用: 盡量避免讓 SingletonComponent 幫你創(chuàng)建組件, 因?yàn)樗皇菃渭兊膶⒔M件創(chuàng)建, 并掛載到空對(duì)象上, 而不會(huì)進(jìn)行任何其他行為. 如果你的組件

    2024年02月08日
    瀏覽(24)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包