如何單獨設計頁面布局,MVC的Controller-Action布局:單獨的創建/編輯頁面還是創建/編輯/查看一體的頁面?...

 2023-10-21 阅读 22 评论 0

摘要:剛開始的時候非常認同asp.net中MVC的Action的布局方法:無論大小,只要是一個動詞,都給一個單獨的頁面,比如Create/Edit/Detail/Index。編寫了一段時間后,又發現這樣很不方便,尤其是像“創建角色”這樣的頁面,就一個TextBox,

剛開始的時候非常認同asp.net中MVC的Action的布局方法:無論大小,只要是一個動詞,都給一個單獨的頁面,比如Create/Edit/Detail/Index。

編寫了一段時間后,又發現這樣很不方便,尤其是像“創建角色”這樣的頁面,就一個TextBox,其他什么都沒了,單獨編寫一個Create一個Edit,不如在Index頁面上方放一個TextBox,底下已經存在的角色也直接用TextBox而不是文本,這樣想創建就創建,想編輯就編輯。

又編寫了一段時間,又發現這樣有風險。因為在另外一個頁面上我把所有信息也這樣做的,但這個頁面會有大量的用戶訪問,很容易出現大家同時編輯同時更新的問題,鎖都鎖不住因為不知道誰在編輯什么。

到底怎么辦呢?

如何單獨設計頁面布局、雖然不能說找到了個完美方案,但終于說服自己這是個還算可以的答案。那就是:

對于多人訪問的頁面,Create/Edit/Detail/Index應該是分開的

我編寫的是一個項目管理軟件,因此需求、缺陷、組內的任務這些數據都會有多人查看,分開寫有兩個好處:

1. 避免了前面提到的編輯后更新沖突問題。

2. 很容易設置權限,比如有些人只能看不能編輯和創建,有些人可以創建,但是不能編輯別人的任務,等等。

mvc教程。3. 很容易用一個鏈接來作為外部接口。

比如可以把“xxx/Stories/Create”放到內部OA里邊,訪問的人就可以按一下創建一個用戶故事(需求)。由于很可能是銷售人員在創建,他們一是不應該有權限瀏覽所有故事,二是如果真讓他們進入一個萬能界面,反而不知道在哪創建故事好了。

對于單人訪問的頁面,這些視圖可以且傾向于合并在一起

1. 典型的情況是Adm的所有功能,如果某一次要求把所有用戶名都改成“last.first”,讓他們點無數次Edit跑很多地方才能完成,不如在一個巨型編輯界面中集中完成。反正不會有無數Adm一起工作,即使他們請了幫手一起工作也肯定會事先協調,很安全。

2. “我的個人中心”,這個地方鐵定是自己才會去的,里邊很多信息都應該本著方便快速而非權限管理的原則設計。

mvc分別用什么實現、3. 極少數團隊領導才會操作的頁面,比如計劃/審批頁面等。

?

這個思路是不是用提前預訂的判定標準,而是遵循“在那種場景下,怎樣做才是更好”得出來的,估計編到后面還可能發現新的規律,到時候再補充。


補充一點關于界面布局與產品理念的內容。?

本人后期的工作是管理軟件的市場和銷售工作,在工作中遇到了很多易用的不易用的產品,發現了一些潛在的規律。

cad如何在布局里創建視口,在早期的軟件開發中,習慣的做法是使用單一的功能強大的界面,來完成所有工作。比如Word和Excel,使用整整一天,都幾乎在單一界面中完成;而無論使用者的角色如何,也都使用這個界面。因此當軟件功能越來越復雜時,使用的難度也隨之急劇上升。

從功能角度看,比如當你在Excel表中使用公式/條件格式這些功能時,一定覺得空間非常擁擠。那么大的屏幕,只有極少部分在為當前的操作服務。

從角色角度看,即使是Word/Excel這樣的簡單軟件,也存在作者/評審者/閱讀者這些角色,他們的權限、使用習慣、常見操作是完全不同的。單一界面就使得某些角色感覺到很不舒服。

在近期的軟件開發中,由于Web的出現,單一界面已經逐漸傾向于完成單一功能。各種網站是個典型,比如新浪,其核心功能和代碼量可能并不會超過Office,但是其界面數量卻巨大的得多,而帶來的效果是:任何人在新浪上面是不會迷路的,也不會覺得功能繁雜無所適從。

從功能角度看,分拆界面的好處是:

mvc跳轉頁面的方法?1. 幾乎不用額外地開發對外的API了。

若一個界面提供且只提供一個功能,則這個界面的鏈接就是那個功能的API;

2. 權限控制變得簡單多了。

如果一個界面中包含眾多功能,登錄的人到底能操作和不能操作哪個功能就是一個很復雜的工作,要在View中做大量工作,而現在所有工作都在Controller里邊完成。

從角色角度看,分拆界面的好處是:

單獨辦公室布局圖片,1. 角色各自查看自己的內容。

千萬不要認為給他更多內容一定會更好,其實不然。上次在培訓課上,練習的時候就有人寫了一個用戶故事,這個故事是“作為一個用戶,可以登錄系統查看項目及自己的任務,以便……”,當時的內容是“用戶建模”,就是要弄清楚誰會用這個功能,而分析結果是:“高層,中層,產品經理,項目經理,組員都會用到這個故事。”這個就麻煩了,因為這些人的工作內容截然不同的,上來看內容的重點也就不同。這個界面即使設計出來,也一定有人覺得不方便。

2. 角色各自操作自己的功能。

如果界面上明明有一些TextBox,用戶也高高興興地填上一些內容,按下按鈕時才出來:“您沒有編輯權限”,是一件非常令人惱火的事情。分拆界面后,各自去各自的界面,沒有編輯權限的人就看不到TextBox。

分拆界面的壞處則是批量操作的能力變差了,因此若此功能非常重要,可以嘗試在大量批量操作的界面上做復合型界面,配合jquery的focus功能等,做出一個以最小操作數量完成操作的界面。

怎么新建布局。?

點擊下載免費的敏捷開發教材:《火星人敏捷開發手冊》

?

轉載于:https://www.cnblogs.com/JPAORM/archive/2011/08/09/2510465.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/154017.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息