【发布时间】:2012-03-19 05:47:30
【问题描述】:
我有一个主页,默认情况下是一个博客。我希望用户能够关闭博客,以防他们想要一个静态页面 [在数据库中设置]
问题是:
1) 我是否在视图中做生意(我知道这是不好的做法)
或
2) 我是否在控制器中完成所有操作(这需要我从数据库中提取布尔值)
谢谢!
【问题讨论】:
我有一个主页,默认情况下是一个博客。我希望用户能够关闭博客,以防他们想要一个静态页面 [在数据库中设置]
问题是:
1) 我是否在视图中做生意(我知道这是不好的做法)
或
2) 我是否在控制器中完成所有操作(这需要我从数据库中提取布尔值)
谢谢!
【问题讨论】:
不要在视图中添加任何类型的登录信息,除了简单的表示逻辑。相反,我建议您在控制器或更好的模型中添加一个检查(因为它处理数据库。)
【讨论】:
将业务逻辑保留在 Controller 中总是更好。为了让范式更简单而打破范式并不是一个好主意。
我会这样做。
由于博客页面与静态页面的视图几乎相同(cmets 除外),我想说让它们完全相同。然后在数据库中设置一个标志,并为您添加的页面设置一个标志,以确定该页面是否是静态的。
在视图中,放置一个不会显示 cmets 的简单 if (static) don't show comments 语句。那么就没有逻辑的变化,也不需要控制器中的逻辑。
【讨论】:
如果它是一个简单的博客,并且您认为它以后不会扩展,那么将逻辑放在视图中就可以了。 MVC 只是一个范例。它不需要虔诚地遵循。你可以随意打破你认为合适的模式。
【讨论】: