Model view controller 关于我的MVC方法(数据和域和业务逻辑)的思考。新手
我正在编写一个医疗计费应用程序,第一次使用MVC(Spring),所以我很难找到一种感觉正确的方法。如有想法/意见,将不胜感激 我的“域”类Model view controller 关于我的MVC方法(数据和域和业务逻辑)的思考。新手,model-view-controller,spring-mvc,Model View Controller,Spring Mvc,我正在编写一个医疗计费应用程序,第一次使用MVC(Spring),所以我很难找到一种感觉正确的方法。如有想法/意见,将不胜感激 我的“域”类 医生 病人 主张 业务逻辑 我的控制器类 名单病人 编辑病人 找到的病人 次级瞄准 我的存储库类 IPatientDao 伊多克托岛 伊克莱姆道 我的申请非常“严格”。例如,医生不能删除其他医生的患者。如果患者已为某项服务付费,则无法删除他们 我认为这些规则不应该在控制器中捕获,这会让人感觉脏兮兮的,特别是当一条规则需要在多个控制器中使用时。同
- 医生
- 病人
- 主张
- 业务逻辑
- 名单病人
- 编辑病人
- 找到的病人
- 次级瞄准
- IPatientDao
- 伊多克托岛
- 伊克莱姆道
好还是坏?什么更好?域模型在我看来太天真了,因为它不包括任何与保险公司打交道的内容,也不包括应付账款/应收账款系统的接口。但也许你还处于早期阶段,只是在建立一个简单的模型之前尝试一下 我认为我不会具体化BusinessLogic对象。太笼统了 如果您使用的是Spring,我想知道您是否可以更好地利用面向方面编程来应用规则 我会调查你是否能帮上忙。也许您可以使用规则引擎在对象中嵌入复杂的行为 最好的建议是从头到尾阅读Spring推荐的分层成语:
我喜欢MVC架构。。。这里应该是层的流动 a) Action类…就像我们在Struts中一样…网页中的所有参数都应该在这个类中处理。。。所有的验证都应该由表单的验证程序来处理 b) 从这个action类调用您的业务类,它为给定的操作执行所有业务逻辑。。。。比如说给病人开账单。。。这会让医生与之联系起来,并说给医生一些佣金 c) DTO层…应用程序中所有类的getter setter。。。可以被所有层使用。。。病人、账单、医生等可能是少数几个例子 d) DAO层..与数据库交互的oe。。。它可以使用hibernate、JDBC等进行交互。。。所有的查询都写在里面了吗。。。做所有的缓存工作等等 因此,层是
操作调用业务层调用DAO层..DTO可以被所有层使用,也可以作为请求对象发送回JSP页面以显示数据…查找访问控制列表或ACL以管理资源的权限和“规则”。谢谢kekoav。我想这就是我正在做的。我的控制器要求逻辑类做一些事情。我可以稍微更改模型,使其更像是if(businessLogic.permitedtodelete(patient,内科医生)patientDao.deletePatient(patient);但这仍然为控制器内部的错误留出了空间,以防后续操作发生。嗨,duffymo。感谢您的评论。上面的模型是一个子集,但是我将遇到的典型规则。我将看看AOP和JSR文章看起来很有希望,尽管对我的需求来说可能有些过分(应用程序相对简单)感谢let-Themes-c,虽然我忽略了业务层,或者更确切地说,在我的操作层中嵌入了大部分业务层,但您所描述的听起来有点像我所拥有的。嵌入操作类是Struts的经典缺陷。