您好,登錄后才能下訂單哦!
本篇內容主要講解“web策略模式解決了什么問題”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“web策略模式解決了什么問題”吧!
效果
一般來講,大部分程序的處理也可以看作是數據處理,而數據處理的過程又可以分為輸入數據、處理數據和輸出數據的過程。策略模式著重解決的就是處理數據的選擇和擴展問題。
處理數據的方式的變化首先可以是處理方式的選擇。這種情況下通常會有幾種已知的方式可供選擇。以貸款利息計算為例,一般有等額本息和等額本金兩種方式,具體選哪種由合同雙方約定。類似這樣的選擇處理在代碼中通常是一個選擇語句。程序用于的選擇決定進入哪個分支。每次增加計算方法的時候,都需要修改判斷語句以增加另外的選項。即使除此之外的所有代碼和這種變更毫無關聯也是如此。
當需要擴展功能的時候還有一個可選的方式。還是前面的例子,我們可以將處理過程分解,將處理數據的部分從事前準備,事后處理中分離出來,獨立成一個抽象的方法。這樣每次需要增加新的處理方式時,只要派生出一個新類并實現抽象方法就可以了。這種情況下派生類和基類之間是[is a]關系。這種方式的問題就是派生類的內容雖然可能只包含數據處理的內容,但是這部分內容是作為基類處理的一部分存在,沒有辦法運用到其它場合。另外一點就是如果數據處理類還需要其他方面的擴展,派生類的數量就會大量增加。
第三種方式就是使用策略模式,第一步仍然是將處理過程分解,將真正的數據處理從事前準備、事后處理中分離出來。接下來的做法略有不同,策略模式是將數據處理部分獨立成一個策略類。當需要選擇或者擴展數據處理方式時,只要替換策略類就可以了。這種情況下整個數據處理類和策略類之間是[has a]關系。它的好處在于策略部分獨立于整個數據處理類而存在,方便替換、擴展的同時還可以不加任何修改地運用到其它場合。
到此,相信大家對“web策略模式解決了什么問題”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。