MVC架构的程序你在写“添加数据”的时候是直接在控制器里面insert,还是在模型里面建立一个带有参数的model方法 然后 当控制器输入的时候 通过这个MODEL方法写入数据库?
1
TheOnly92 Dec 5, 2010
后者 +1
|
2
MarkFull Dec 5, 2010
似乎有一个database access layer来管这件事情,在controller和model之间
http://en.wikipedia.org/wiki/Data_access_object |
3
killall OP 后者 貌似很繁杂啊
|
5
TheOnly92 Dec 5, 2010
利用 mysqli 呀,楼主有使用任何 framework 吗?
|
6
darcy Dec 5, 2010
各司其职,控制器做流程控制,验证和保存数据交给模型(model)来做。
|
7
Sunyanzi Dec 5, 2010
一定是后者 ... 不然还要 Model 做什么 ...
|
8
highkay Dec 5, 2010
前者是贫血模型,后者是充血模型。
java里面贫血比较多,常见的一个bean就是一个model。 谈不上好坏,具体和你的项目以及你用的框架决定。 |
9
killall OP 谢谢,受教了。
|
10
POPOEVER Dec 5, 2010
Model
|
11
voidman Dec 5, 2010
Model +1
|
12
qichangxing Dec 6, 2010
# models/post.py
def new(title, content): db.insert(tb, title, content) return True # contorllers/post.py from models import post Class Post: def POST(self): i = web.input() title = i.get('title', None) content = i.get('content', None) if not (title and content): # warning... post.new(title, content) raise web.redirect(...) |
13
chuck911 Apr 29, 2011
看情况,如果太简单就一句话就不要封到model里面了
如果把model当成领域对象,那就不要只把它当成免写sql的工具 看你自己的感觉~重要的是,敏捷 |
15
no2x Apr 29, 2011
后者 + 1,识别读写,识别数据库,识别表
|