我有一个代表朋友(模型)的类。这个 Friend 具有与任何其他模型一样的属性和方法。
为了显示一个包含我所有朋友列表的网页,我需要创建一个函数来返回该数据。
我的问题:我应该把那个功能放在哪里?在 Friend 模型内部(即使它会返回一个对象列表)?或者我应该创建一些其他模型,比如使用 Friend 模型的 FriendList 吗?
谢谢
我有一个代表朋友(模型)的类。这个 Friend 具有与任何其他模型一样的属性和方法。
为了显示一个包含我所有朋友列表的网页,我需要创建一个函数来返回该数据。
我的问题:我应该把那个功能放在哪里?在 Friend 模型内部(即使它会返回一个对象列表)?或者我应该创建一些其他模型,比如使用 Friend 模型的 FriendList 吗?
谢谢
这取决于很多事情。
关于您的项目有多大,您的数据是如何构建的,您想使用哪种模式等等。
也许你应该先看看这些东西:
根据您软件的标准,您可以确定您需要什么。
但是,您可以创建一个名为 的类Friends
,它扩展了您的类Friend
。在这个类中,你可以有一些加载功能。
我不会将检索函数放在朋友类本身中,主要是因为它不合逻辑。
示例代码
class Friends : List<Friend>
{
public function bool RetrieveAll()
{
//load them here
}
}
编辑:如果你想使用 MVC,你应该去找 Gab 的答案。
理论上,您的数据将存储在应用程序外部的资源中。负责检索这些数据的对象通常称为 DataAccessObject (DAO)。
在您的情况下,您可以有一个 FriendDAO 公开方法,例如
List<Friend> retrieveAll();
Friend retrieveByName(String name);
persist(Friend friend);
ETC...
MVC 的重点是在不同的层中清楚地分离数据的持久性、操作和显示。
您可以有许多变体,业务逻辑可能位于模型层或控制器中,您可以有一个专用于视图事件处理的控制器(前端控制器)委托给其他控制器或模型。
你命名你的类的方式并不那么重要。