作者vi000246 (Vi)
看板C_Sharp
标题[问题] 想问网站设计规划的问题
时间Sat May 6 02:07:46 2017
我的职务主要是做官方网站的开发维护
官网会有许多活动
每个活动页面都长不太一样
里面会有表单让使用者填写
表单内容有些是一次性的栏位
其他活动用不到的
采用asp.net mvc开发
目前都是将这些活动页面放在Areas里
采用活动日期当档名
例如20170506xxxxController
资料库也是这样开
20170506xxxxTAble之类的
第一次看到这种写法
假如一年办个100场活动就有100个controller
觉得架构这样弄应该不太对
但我也想不到更好的写法
以前写过类似的最新消息页面
是直接捞资料库里的html字串
但在这间公司有设计师负责前端排版
而且版面比纯文字复杂得多
捞资料库的作法应该行不通
想问还有什麽比较好的design pattern适用这情况吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 175.181.178.108
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1494007669.A.702.html
1F:→ testPtt: 怎不开独立专案? 05/08 14:19
每个活动只有简单的几个页面 填填表单而己
有点类似问卷平台的设计
可以新增活动 自订每个活动所需表单的栏位 再存档到资料库
我抄网路上的设计出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
2F:→ ssccg: 资料收完了还会再改? 查询需求有很复杂? 05/08 21:21
3F:→ vi000246: 不会再更动栏位 很简单的验证与存档 05/08 21:49
4F:→ Litfal: DB建成key-propertyName-value的结构 05/09 00:12
5F:→ Litfal: 写一个interface service提供前端到後端的验证与转型,以 05/09 00:21
6F:→ Litfal: 及一些基本查询,基本查询可以写在抽象类别或帮助类内 05/09 00:22
7F:→ Litfal: 每个活动建立一个Service,实作IService。大致只需要实作 05/09 00:27
8F:→ Litfal: 验证部分。其余由帮助类或基底类别一次性的做掉。 05/09 00:27
9F:→ Litfal: 前端需要给後端一个活动档名做关键字,例如20170506xxxx 05/09 00:29
10F:→ Litfal: 然後Controller利用反射或是静态Create方法建立IService。 05/09 00:30
11F:→ Litfal: Controller直接用FormCollection,并交给IService去处理 05/09 00:32
12F:→ Litfal: 缺点是DB的查询效率会比较差,如果有复杂的查询或统计,或 05/09 00:33
13F:→ Litfal: 是使用量很大,那会有一点麻烦 05/09 00:34
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