我有一個代表朋友(模型)的課程。該Friend具有與其他模型一樣的屬性和方法。為了顯示一個包含所有我的朋友列表的網頁,我需要創(chuàng)建一個函數以返回該數據。我的問題:我應該將該函數放在哪里?在Friend模型中(即使它將返回對象列表)?還是應該創(chuàng)建其他模型,例如使用Friend模型的FriendList?
2 回答

慕運維8079593
TA貢獻1876條經驗 獲得超5個贊
這取決于很多事情。
關于項目的規(guī)模,數據的結構方式,您想使用的模式等等。
也許您應該先看看這些東西:
設計模式
域驅動設計
根據您軟件上的標準,您可以確定所需的內容。
但是,您可以創(chuàng)建一個名為的類Friends
,以擴展您的class Friend
。在此類內,您可能具有一些加載功能。
我不會將“獲取”功能放在Friend類本身中,主要是因為它不合邏輯。
范例程式碼
class Friends : List<Friend>
{
public function bool RetrieveAll()
{
//load them here
}
}

精慕HU
TA貢獻1845條經驗 獲得超8個贊
理論上,您的數據將存儲在應用程序外部的資源中。負責檢索這些數據的對象通常稱為DataAccessObject(DAO)。
在你的情況下,你可以有一個FriendDAO,它暴露像
List<Friend> retrieveAll();
Friend retrieveByName(String name);
persist(Friend friend);
等等...
MVC的要點是在不同的層中清楚地分離數據的持久性,操縱性和顯示性。
您可以有許多變體,業(yè)務邏輯可以位于模型層或控制器中,您可以有一個控制器專門用于查看委派給其他控制器或模型的事件處理(前端控制器)。
您為班級命名的方法并不重要。
添加回答
舉報
0/150
提交
取消