我想知道是否存在執行下一的一種方法:DAO(Dessign圖案)與用戶限制
我有2個種類的用戶(UserA
,UserB
)。類別Student
和類別Classroom
。
UserB
有一個List<Classroom> Classrooms;
。
UserA
可以將Student
保存到任何Classroom
中。
UserB
可以將Student
保存爲他所擁有的Classroom
。因此,StudentDAO
對每種用戶都有不同的方法。
我該怎麼做?我認爲,最好的方法是:
在用戶的構造函數中,我實例化了一個StudentDAO
,其中包含支持用戶的實現。那是對的嗎?
如果ClassroomDAO
的方法getAll();
該怎麼辦? UserA
將會看到每個Classroom
。但是UserB
將會看到他所有的Classroom
。但是這種方法將與UserB.getClassrooms();
相同。 2種方法也會這樣做。
在此先感謝。
所以,你告訴我,限制應該寫在MVC的視圖? – Quarktum
根本不是!這取決於UserA和UserB的確切含義,我隱含地將它理解爲用戶角色,在設計時你不知道。在這種情況下,MODEL應只返回角色有權訪問的數據。 –
但是,如果您在設計時間知道誰在使用Student實例,只需不要調用不需要的方法即可。 –