V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hellogbk
V2EX  ›  程序员

问一个简单的功能模块划分的问题

  •  
  •   hellogbk · 2015-07-26 11:16:57 +08:00 · 2093 次点击
    这是一个创建于 3209 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如果有 用户 跟 文章 这两个模块。

    那么 查看用户所发布的文章 这个功能,应该算到用户这个模块里面还是算到文章这个模块里面?
    为什么呢?

    谢谢大家。

    第 1 条附言  ·  2015-07-26 11:50:47 +08:00
    原文里面没有说清楚,我想说的是“查看某个用户所发布的文章的列表”,而不是查看某一篇文章的具体内容
    5 条回复    2015-07-27 23:13:42 +08:00
    yakczh
        1
    yakczh  
       2015-07-26 11:42:46 +08:00
    文章模块 "查看"这是是主观的表达, 从客观上说,这个功能操作的是文章的数据主体, 或者换种说法是文章"显示"功能, 归到哪个模块的依据,主要看大部分的业务代码是操作哪个表
    bramblex
        2
    bramblex  
       2015-07-26 17:20:42 +08:00 via Smartisan T1
    你觉得文章的搜索是用户模块的还是文章模块的?

    用户发文章的记录可以看成按用户搜索文章不是么?
    lyning
        3
    lyning  
       2015-07-27 00:01:29 +08:00 via Android
    你的意思是说,"查看"这个行为,或者叫做方法、函数应该写在用户的数据访问层(数据库操作),还是文章的数据访问层吗?如果是这个意思的话,你要根据这个项目来分,如果文章的数据库操作行为很多,那就写在文章里面,跟用户模块分开,减少耦合度,方便维护,反过来,如果文章涉及到数据库访问的行为比较少,你完全可以写到用户模块里去,这也方便维护,方正规矩是死的,看你怎么灵活应用
    zjqzxc
        4
    zjqzxc  
       2015-07-27 00:49:28 +08:00
    文章。说白了这个功能就是一种带附加条件的查询文章列表嘛。
    比如正常的查询工作是SELECT title FROM article WHERE keys=xxx
    这个的查询大概就是 SELECT title FROM article WHERE user=xxx
    如果把查询都归到用户模块感觉不太合适吧
    flyingghost
        5
    flyingghost  
       2015-07-27 23:13:42 +08:00
    如果你是产品狗,从功能来说(基本等同于从UI交互来说):
    查看我的文章列表,查看某人的信息->TA的文章列表,都是属于用户模块。
    查看某人的文章列表,与其说是文章模块,不如说是搜索模块更常见一些。

    如果你是程序猿,从逻辑实现来说:
    以上所有情况,妥妥的属于“文章”模块,如果你有这个模块的话。
    理由是:文章表变更的时候,或者文章模块重构的时候,这部分逻辑要一起动。而userid,仅仅是个参数而已。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   6203 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 01:53 · PVG 09:53 · LAX 18:53 · JFK 21:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.