killall
V2EX  ›  PHP

常规问题,你们在写MVC的时候....

  •  
  •   killall · Dec 5, 2010 · 6968 views
    This topic created in 5815 days ago, the information mentioned may be changed or developed.
    MVC架构的程序你在写“添加数据”的时候是直接在控制器里面insert,还是在模型里面建立一个带有参数的model方法 然后 当控制器输入的时候 通过这个MODEL方法写入数据库?
    15 replies  •  1970-01-01 08:00:00 +08:00
    TheOnly92
    TheOnly92
    Dec 5, 2010
    1
    后者 +1
    MarkFull
    MarkFull
    Dec 5, 2010
    2
    似乎有一个database access layer来管这件事情,在controller和model之间
    http://en.wikipedia.org/wiki/Data_access_object
    killall
    killall
    OP
    Dec 5, 2010
    3
    后者 貌似很繁杂啊
    killall
    killall
    OP
    Dec 5, 2010
    4
    @MarkFull 不知道这是什么?
    TheOnly92
    TheOnly92
    Dec 5, 2010
    5
    利用 mysqli 呀,楼主有使用任何 framework 吗?
    darcy
    darcy
    Dec 5, 2010
    6
    各司其职,控制器做流程控制,验证和保存数据交给模型(model)来做。
    Sunyanzi
    Sunyanzi
    Dec 5, 2010
    7
    一定是后者 ... 不然还要 Model 做什么 ...
    highkay
    highkay
    Dec 5, 2010
    8
    前者是贫血模型,后者是充血模型。
    java里面贫血比较多,常见的一个bean就是一个model。

    谈不上好坏,具体和你的项目以及你用的框架决定。
    killall
    killall
    OP
    Dec 5, 2010
    9
    谢谢,受教了。
    POPOEVER
    POPOEVER
    Dec 5, 2010
    10
    Model
    voidman
    voidman
    Dec 5, 2010
    11
    Model +1
    qichangxing
    qichangxing
    Dec 6, 2010
    12
    # 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(...)
    chuck911
    chuck911
    Apr 29, 2011
    13
    看情况,如果太简单就一句话就不要封到model里面了
    如果把model当成领域对象,那就不要只把它当成免写sql的工具
    看你自己的感觉~重要的是,敏捷
    apoclast
    apoclast
    Apr 29, 2011
    14
    @highkay 这种说法还是第一次遇到, 不过真有意思
    no2x
    no2x
    Apr 29, 2011
    15
    后者 + 1,识别读写,识别数据库,识别表
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1888 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 07:18 · PVG 15:18 · LAX 23:18 · JFK 02:18
    ♥ Do have faith in what you're doing.