本篇內容主要講解“github中解耦與MVC是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“github中解耦與MVC是什么”吧!
軟件工程有個熟悉的概念:高內聚,低耦合。如果我們需要比較高的凝聚效果,我們當然會要先解除模塊之間的緊密關系。
解耦:把你的代碼組織成最小組織單位(模塊),并限制他們之間的交互。
當你將你的代碼解除耦合后,在你需要更換一個已經解耦的模塊時,其他的模塊仍然能夠正常工作。
一個解耦的例子:
該函數耦合比較緊密,增大了依賴類的數目
void function(Date date, Selection selection) { TimeZone tz = selection.getRecoder().getLocation().getTimeZone(); }
解除耦合:
解除了多余的依賴類,函數接口只要求提供需要的東西,而不是挖通了調用的層次關系 - 實現了簡單的解耦。
void function(Date date, TimeZone tz)
{
}
/* 調用時只需要傳遞需要的東西 */
function(date, selection.getTimeZone());
解耦在軟件設計中占有很重要的地位,過度耦合會嚴重影響代碼的可拓展性,增加維護成本,所以理解解耦并運用到實際項目中非常有必要。
使模塊之間的耦合減少到最小。
Model-View-Controller (MVC) 是解耦的經典代表,它解除了數據,控制器,視圖這 3 者的耦合,從而給 GUI 設計帶來非常大的方便,所以我們必須了解并會使用這套方法。
什么是 Model ?
Model 即模型,表示要展示對象的抽象數據類型。
什么是 View ?
View 即視圖,表示 Model 的展示方式,即 GUI 控件樣式。
什么是 Controller ?
Controller 即控制器,用來控制 View 顯示 Model,相當于 Model 和 View 的橋梁。
MVC 的關鍵概念:既讓模型與表示模型的 View 分離,也讓模型與管理視圖的控制器分離。這樣一來,我們的模型,視圖,控制器就基本完成了解耦工作了。
簡單來說:
MVC 在 GUI 上應用的思想就是讓控制器將數據模型按照一定的規則送到視圖上去展示。其中模型,視圖,控制器分別在代碼中體現為 3 個獨立的 class。
這個思想也使用在最近的一個項目中,項目需要解析指定的數據包中的數據(Model),然后在自定義的控件(View)上動態(Controller 來控制)顯示出來,項目的結構支撐很重要的一塊就是 MVC 了,可見它的重要性。
到此,相信大家對“github中解耦與MVC是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。