[問題] 想問網站設計規劃的問題

看板C_Sharp作者 (Vi)時間7年前 (2017/05/06 02:07), 7年前編輯推噓0(0013)
留言13則, 4人參與, 最新討論串1/1
我的職務主要是做官方網站的開發維護 官網會有許多活動 每個活動頁面都長不太一樣 裡面會有表單讓使用者填寫 表單內容有些是一次性的欄位 其他活動用不到的 採用asp.net mvc開發 目前都是將這些活動頁面放在Areas裡 採用活動日期當檔名 例如20170506xxxxController 資料庫也是這樣開 20170506xxxxTAble之類的 第一次看到這種寫法 假如一年辦個100場活動就有100個controller 覺得架構這樣弄應該不太對 但我也想不到更好的寫法 以前寫過類似的最新消息頁面 是直接撈資料庫裡的html字串 但在這間公司有設計師負責前端排版 而且版面比純文字複雜得多 撈資料庫的作法應該行不通 想問還有什麼比較好的design pattern適用這情況嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.181.178.108 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1494007669.A.702.html

05/08 14:19, , 1F
怎不開獨立專案?
05/08 14:19, 1F
每個活動只有簡單的幾個頁面 填填表單而己 有點類似問卷平台的設計 可以新增活動 自訂每個活動所需表單的欄位 再存檔到資料庫 我抄網路上的設計出Table 如下面的pdf https://tinyurl.com/kan37vy 但在後端entity的部份 就不知道要怎麼binding 從view post回來的資料 而且驗證也不好寫 這是我在stackoverflow發問的連結 https://stackoverflow.com/questions/43834428/how-to-validate-survey-table ※ 編輯: vi000246 (175.181.178.108), 05/08/2017 21:11:24

05/08 21:21, , 2F
資料收完了還會再改? 查詢需求有很複雜?
05/08 21:21, 2F

05/08 21:49, , 3F
不會再更動欄位 很簡單的驗證與存檔
05/08 21:49, 3F

05/09 00:12, , 4F
DB建成key-propertyName-value的結構
05/09 00:12, 4F

05/09 00:21, , 5F
寫一個interface service提供前端到後端的驗證與轉型,以
05/09 00:21, 5F

05/09 00:22, , 6F
及一些基本查詢,基本查詢可以寫在抽象類別或幫助類內
05/09 00:22, 6F

05/09 00:27, , 7F
每個活動建立一個Service,實作IService。大致只需要實作
05/09 00:27, 7F

05/09 00:27, , 8F
驗證部分。其餘由幫助類或基底類別一次性的做掉。
05/09 00:27, 8F

05/09 00:29, , 9F
前端需要給後端一個活動檔名做關鍵字,例如20170506xxxx
05/09 00:29, 9F

05/09 00:30, , 10F
然後Controller利用反射或是靜態Create方法建立IService。
05/09 00:30, 10F

05/09 00:32, , 11F
Controller直接用FormCollection,並交給IService去處理
05/09 00:32, 11F

05/09 00:33, , 12F
缺點是DB的查詢效率會比較差,如果有複雜的查詢或統計,或
05/09 00:33, 12F

05/09 00:34, , 13F
是使用量很大,那會有一點麻煩
05/09 00:34, 13F
IService是把像下面的結構 key propertyName value "欄位1" 1 "欄位2" 2 對應到下面的class嗎 public class field{ 欄位1 欄位2 } 感謝L大的回答 我再來研究要怎麼實作 ※ 編輯: vi000246 (175.181.178.108), 05/09/2017 08:51:36
文章代碼(AID): #1P3BzrS2 (C_Sharp)