给MVC中的V设计一个框架
生活随笔
收集整理的這篇文章主要介紹了
给MVC中的V设计一个框架
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
在前文中(基于MVC三層架構結合自己理念生成的四層架構)中,我大體的說了說整個架構上的設計,但是我們沒怎么談論具體各個層面上的設計說明,下面我將就這些層次分別說下具體的設計,本次文章我先說明一下我在VIEW層的設計架構。當然這些設計是在我的項目中實踐過了的,我本人也認為有很多好處的,拿來詳細說明一下:特別指出一下,我是在.NET的,這個設計不局限B/S還是C/S,因為我的實際項目這兩中項目都有。 我先給大家一個具體的包和他們之間關系的一個Package Diagram: 上圖我們看到了,整個View包里面包含Form/Page,MyControl,ControlsManage和Resources四個包,從名稱上我們可以看到,Form/Page包里面是各個頁面或者窗體,MyControl包里面放的是我們在開發過程中需要設計的自定義控件,Resources包中是文件資源,這三個包大家都是可以理解的。現在重點我來說下這第四個包——ControlsManage,可能很多人要問:你前面說的那三個都可以理解,這最后一個是什么?干什么用的?為什么要設計成這樣? 在說明之前我們來幾個例子。我們設計一個窗體,叫ExampleForm,在里面有四個控件ListView,DataGridView,ComboBox,MenuStrip。像什么Label之類的控件我就不說了,拿比較麻煩的這四個控件來舉例效果比較明顯。我們在ControlsManage里面設計四個接口例如(ListViewManage),這個接口做什么用呢,用來處理與ListView相關的所有操作比如(添加一個復雜對象,獲取所點擊的對象等等)。那么我們在項目制作中怎么使用呢?如下的流程圖: 我們可以看到,通過Control層來的內容后,我們要找到要顯示控件,調用上面寫好的ListViewManage接口提供的方法顯示我們的控件,顯示這個方法我們可以通過重載的方法顯示多態或者不同的ListView。DataGridView,ComboBox,MenuStrip等控件也是這樣處理。如此做來我們將整個項目中的這個四個控件都都接口來進行處理,我認為這對于開發分類管理和代碼分類管理是很有好處的,而且我們的控件顯示接口也實現了最大化的復用。 我想結合上圖和文字,大家已經能夠大致明白我想說的意思了吧。現在我來說說我這個設計優點、缺點和設計初衷。 優點: 1、? 控件顯示接口的復用,因為整個系統都是用這個接口。 2、? 減少開發風險和減少錯誤機率,復用多了,代碼量就會減少,有效的高質量代碼就會增加。 3、? 當出現迭代式增量開發的時候我們可以根據需要一部分一部分的暴露接口,所以說比較好進行控件顯示的控制。 4、每個層次責任分明,體現了層次的功能單一原則。 缺點: 1、? 層次增加了,很多新程序員會覺得開發起來慢。 2、? 代碼中對象多了,資源也會多消耗。 3、? 如果后來的維護人員在不了解架構的情況下不按照規則修改代碼,會讓代碼更加負責。 設計初衷: 當然主要是為了自己開發起來方便,我的思路主要是借鑒了SOA的設計思路,將每個控件的處理看做是一個一個內部小接口,窗體在現實的時候拿著控件和數據去找接口。 思路和設計不是很成熟,希望大家多提意見,謝謝!本文出自 “張雋永” 博客,請務必保留此出處http://realzjy.blog.51cto.com/818594/167983
轉載于:https://my.oschina.net/longshuai/blog/85854
總結
以上是生活随笔為你收集整理的给MVC中的V设计一个框架的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL Aborted_client
- 下一篇: C++基本概念复习之二:多重继承、虚继承