【发布时间】:2014-06-30 08:58:57
【问题描述】:
我最近开始学习 OOP 和 MVC,但我已经遇到了很多问题! :)
我想澄清一下这个网站上的名单http://c2.com/cgi/wiki?DomainObject
- 识别 [of their] 哪些引用表示聚合,哪些表示关联
- 复制自己
- 维护业务逻辑
- 将自己与其他同类型的域对象进行比较
- 方便选择打印或显示它们的其他对象
- 对其域信息进行测试”
- 表明自己的身份
- 验证自己
1:它们是指返回其他域对象 ID 的方法列表吗?
7 & 8:“识别和验证自己”是什么意思?这应该如何工作,因为识别和验证可能需要访问持久层?
在过去的几个月里我读了很多书,但实际上我不能说我对 OOP/MVC 有一个扎实的想法:(
什么是验证?为什么我需要它?它应该如何执行?如果数据来自数据库,为什么我需要验证,因为持久数据已经有效?
凭借我自己的洞察力,我为我拥有的每个模型实体组成了这组类:
// it holds Student information, it can also contain partial data
// (for updating just certain fields in the database)
interface Student
{
getID($id)
setID($id)
getName()
setName($name)
getSurname()
setSurname($surname)
}
interface StudentValidator
{
validateInsert(Student $data)
validateDelete(Student $data)
validateUpdate(Student $data)
}
interface StudentMapper
{
getByID($id)
getAllByClassroomID($crid)
updateByID(StudentValidator $v, int $id, Student $data)
deleteByID(StudentValidator $v, int $id)
deleteAllByClassroomID(StudentValidator $v, int $crid)
insert(StudentValidator $v, Student $data)
}
这离体面的代码还有多远? :)
提前谢谢!!!
【问题讨论】:
标签: php oop model-view-controller