【发布时间】:2012-08-09 02:02:11
【问题描述】:
我是一名试图研究 CakePHP 的 Java 程序员 - 目前我在应用程序结构/设计方面遇到问题。我不明白将应用程序的核心逻辑放在哪里。
当我在 JavaEE 中进行开发时,常见的方法如下所示:
模型类是代表数据实体(产品、人员等)的简单 bean,主要类似于带有 getter/setter 的数据结构;
控制器类是足够简单的类,它们聚合必要的数据并将它们注入专用的视图模板,然后发送给用户;
DAO (DataAccessObject) 或 Repository 类是可以将实体加载和存储到数据库中的类;
服务类通常是包含某些业务逻辑方法的单例 - 这些由控制器、其他服务或计划操作调用,另一方面,它们本身调用 DAO / 存储库方法来获取或修改数据。
例如,如果我有实体 Person、Product 和 Order,当用户选择某些产品并单击“将其放入我的购物车/购物篮”new Order 时,应该创建此 Person 并且此Product 应该添加到这个Order (我们可以检查Person 是不是坏债务人以及Product 是否存在于商店等) - 所有这些工作都是在一些人调用的OrderService 方法中执行的控制器。
通常使用某种 IOC(控制反转),以便所有服务和控制器都链接到必要的服务等。
现在我对这一切是如何在 CakePHP 中完成的有些困惑。我应该把这个业务逻辑等放在哪里?
【问题讨论】:
标签: cakephp architecture