我正在构建一个CMS应用程序,我正在添加电子商务功能。我正在思考一个设计选择,并想知道是否有人有想法?
我有产品模型对象,以及CMS中描述每个产品的页面。从逻辑上讲,我想知道有关产品的所有信息是否应该包含在产品型号中,或者是否应该在CMS页面中显示。这两种方法都毫无疑问,我只是想知道是否有人对哪种方法最好以及为什么有所了解。
将信息存储在单独的产品型号和CMS页面模型中似乎更合乎逻辑,因为某些信息属于产品,而某些信息属于该页面。
因此,产品存储了产品固有属性的东西。例如:名称,价格图像,功能和页面存储用于销售产品的东西。例如,好处,它如何运作图表,销售信息。
但我认为在一个模型中存储所有信息更加务实。如果我有一个单独的CMS页面和产品,用户将需要在两个地方输入和维护信息,用户也可能最终无意中将错误的产品绑定到错误的页面,并且要使产品脱机,则需要禁用两件事
我想我有时会花太多时间思考这些事情。有什么想法吗?我认为我赞成务实的做法。
答案 0 :(得分:2)
但我认为存储所有信息 一个模型更实用。如果我 有一个单独的CMS页面和产品, 用户需要输入和维护 信息在两个地方,一个用户 也可能无条件地结束 把错误的产品绑在错误的地方 页面,并使产品脱机 需要禁用两件事。
不,不是。
您假设最终产品数据库将由一个人管理,但实际上,“硬数据”和“营销副本”应由具有不同技能的两个不同类别的用户生成(和维护),目标和角色。也许这意味着一个人戴着两个(或更多)“帽子”,但这不应被视为将所有东西捆绑在一个大对象记录中的理由。
使产品脱机不需要您执行两个不同的操作。我将其建模为主(硬数据)产品记录上的布尔标志(即:有效< - > Y / N),并根据此情况启用或禁用相关的CMS页面。
根据具体情况,顺便说一下,CMS页面仍然可以搜索或显示,而唯一会变灰的部分就是“放入购物篮”按钮(这样客户就可以看到具体的项目是在过去提供的,但现在不再提供。)
因此,项目描述性质(大小等)应该是项目记录的一部分。 任何“销售相关”,即“模糊”,对其他项目的建议,销售折扣,s& h备注等应该是CMS页面(或记录)的一部分。 CMS页面应始终从Item记录中呈现一些数据,因为它本身很有用(客户可以检查它是否太大或动力不足等)并且将提供基准信息以放入CMS页面以防复制编辑器还没有提供任何东西。