溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

web策略模式解決了什么問題

發(fā)布時(shí)間:2022-01-13 17:09:38 來源:億速云 閱讀:133 作者:iii 欄目:大數(shù)據(jù)

本篇內(nèi)容主要講解“web策略模式解決了什么問題”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“web策略模式解決了什么問題”吧!

效果

一般來講,大部分程序的處理也可以看作是數(shù)據(jù)處理,而數(shù)據(jù)處理的過程又可以分為輸入數(shù)據(jù)、處理數(shù)據(jù)和輸出數(shù)據(jù)的過程。策略模式著重解決的就是處理數(shù)據(jù)的選擇和擴(kuò)展問題。

處理數(shù)據(jù)的方式的變化首先可以是處理方式的選擇。這種情況下通常會(huì)有幾種已知的方式可供選擇。以貸款利息計(jì)算為例,一般有等額本息和等額本金兩種方式,具體選哪種由合同雙方約定。類似這樣的選擇處理在代碼中通常是一個(gè)選擇語句。程序用于的選擇決定進(jìn)入哪個(gè)分支。每次增加計(jì)算方法的時(shí)候,都需要修改判斷語句以增加另外的選項(xiàng)。即使除此之外的所有代碼和這種變更毫無關(guān)聯(lián)也是如此。

當(dāng)需要擴(kuò)展功能的時(shí)候還有一個(gè)可選的方式。還是前面的例子,我們可以將處理過程分解,將處理數(shù)據(jù)的部分從事前準(zhǔn)備,事后處理中分離出來,獨(dú)立成一個(gè)抽象的方法。這樣每次需要增加新的處理方式時(shí),只要派生出一個(gè)新類并實(shí)現(xiàn)抽象方法就可以了。這種情況下派生類和基類之間是[is a]關(guān)系。這種方式的問題就是派生類的內(nèi)容雖然可能只包含數(shù)據(jù)處理的內(nèi)容,但是這部分內(nèi)容是作為基類處理的一部分存在,沒有辦法運(yùn)用到其它場合。另外一點(diǎn)就是如果數(shù)據(jù)處理類還需要其他方面的擴(kuò)展,派生類的數(shù)量就會(huì)大量增加。

第三種方式就是使用策略模式,第一步仍然是將處理過程分解,將真正的數(shù)據(jù)處理從事前準(zhǔn)備、事后處理中分離出來。接下來的做法略有不同,策略模式是將數(shù)據(jù)處理部分獨(dú)立成一個(gè)策略類。當(dāng)需要選擇或者擴(kuò)展數(shù)據(jù)處理方式時(shí),只要替換策略類就可以了。這種情況下整個(gè)數(shù)據(jù)處理類和策略類之間是[has a]關(guān)系。它的好處在于策略部分獨(dú)立于整個(gè)數(shù)據(jù)處理類而存在,方便替換、擴(kuò)展的同時(shí)還可以不加任何修改地運(yùn)用到其它場合。

到此,相信大家對(duì)“web策略模式解決了什么問題”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

web
AI