我一直在阅读这个关于DAO和VO类的网站,以便使用PHP和MVC。 http://www.sitecrafting.com/blog/php-patterns-part-ii/
我想知道应该在哪里放置域逻辑。 (仅处理对象数据,算法等的方法)
它应该在VO课程吗?或者我应该为域逻辑类创建另一个包?
它与数据库无关,所以我认为它不会被放在DAO类上。 感谢。
答案 0 :(得分:0)
处理数据的逻辑应该在您的DAO提取数据并由您的VO“处理”或“格式化”数据之后进入模型,遵循您在问题中引用的模式。
这是一个可能适用于您的场景的可能结构:
----- DAO -----------> VO -------> Model ----> Controller --------> View
UsersDatabase ----> UsersVO ----> User ----> UserProfile ---> UserProfilePage
希望班级名称不言自明。在此示例中,与不处理接口的用户相关的任何逻辑都适合用户模型。
恕我直言,但这只是我的观点,除非您的模型非常大或者您有许多依赖相同数据“处理/格式化”逻辑的不相关模型,否则您将完全跳过VO并拥有DAO直接与您的模型沟通。