您是否应该分离模型函数,即使它们检索数据的字段?
假设我有一个从数据库获取文章的文章模型。
我有一个函数getUserArticles($id),它可以获取用户的文章。我有一个函数getAllArticles($offset, $limit),它可以获取文章列表。
我应该将这两个函数分开,还是以某种方式将它们组合在一起。
我这样问的原因是,如果我要更改、添加或删除查询中的字段,则必须在每个函数中进行更改。因此,如果我改变主意,决定不再显示每篇文章的time_added,我将不得不从每个函数中删除它。
发布于 2010-01-19 07:53:31
最好向API的用户公开两个不同的函数,但在内部,如果您相信这样会有更好的代码重用,那么您可以对这两个函数使用相同的代码。
例如:您将定义一个通用getArticles (仅供内部使用)
articles getArticles($userId, $offset, $limit) {
// do searching while handling the different cases if $userId is set or not and the same for the offsets
}然后定义公开的函数,如下所示
articles getUserArticles($id){
return getArticles($id, -1,-1);
}
articles getAllArticles($offset, $limit) {
return getArticles(-1, $offset, $limit);
}注意:只有当你相信这两个函数之间有共同的代码时,才会这样做。如果没有公共代码,则将它们分开,并且不需要我建议的通用getArticles函数。
我不知道上面的代码是否是有效的php代码,但我认为其中的意思是明确的。
发布于 2010-01-19 07:49:33
将它们分开。它们在逻辑上是不同的。如果您尝试合并它们,您最终会得到具有大量参数和复杂内部结构的函数。保持简单,但不是更简单。拥有这些更小的、不言自明的方法会让你的生活变得更轻松。
https://stackoverflow.com/questions/2090045
复制相似问题