作为Scala案例类的模型与DAO交互?
我开始设计涉及
Scala案例类作为模型,我想知道一个设计决策.
让我们假设我们有两个模型,一个用户模型和一个订单模型. Order模型将User模型作为外键引用. case class User(id: UserId,[Other fields...],password: String) case class Order(id: OrderId,userId: UserId) 然后,根据这个设计,我们将使用方法findByUser方法获得Orders DAO. 我的问题是:在用户中使用调用此DAO方法的订单方法,从而使系统更加OO,或者保持层隔离并且不包括此方法更好吗? 谢谢! 解决方法
如果您理解正确,那么您就会询问活动记录模式.任何模式,它有其优点和缺点,你可以在网上找到更多关于它的信息.这里是其中的一些:
http://www.mehdi-khalili.com/orm-anti-patterns-part-1-active-record https://softwareengineering.stackexchange.com/questions/70291/what-are-the-drawbacks-to-the-activerecord-pattern Active Record Design Pattern? 在Play2项目中,我首先使用该模式,主要是因为Ebean的支持.但是,由于我需要更多的逻辑来持久化某些模型,因此扩展它变得很麻烦.最后,我把所有东西分开了:单独的服务,单独的模型,单独的DAO.这也帮助我轻松切换存储库层实现(最后我可以更自由地试验Spring Data JPA,Hibernate等) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |