这种现象在所有的面向对象工程中都会遇到,在我们编码时,对一般的对象比如mvc的,我们可以把写好的类文件放到相应的model view controller
包里面去。但是对于一些共用类就不那么好处理了,比如一些工具类,或者是共用对象,你对它一个类命名一个软件包吧好像有点浪费,但是他们之间又确实没啥关联。
很常用的做法是全部放到一个类似util的包里,但是最近看到一篇文章说这样过于简单粗暴,而且其他人也不好理解这样的分层,不知道各位是怎么处理这个问题的。
我觉得是可以在controller和model间再思考的。
mvc也只是一种代码组织形式而已,但不要被mvc限定住,一个良好的层次可以不只是mvc。
如果你的业务场景里这三层是很简单,比如“数据库取下数据,controller里稍微加工下,view显示”,那么mvc就够了。
可如果controller下面的数据组织相当复杂,比如需要操作很多其他的系统,或是经过复杂的业务处理后才能得到最终的一份业务数据。那么controller和model之间可以做的文章还是很多的。
那这介于controller和model之间代码如何组织,可能是初步采用面向对象的思路后遇到的烦恼,但当真正理解面向对象对象的概念后其实情况还是可以很清楚的。觉得可以参考下一些关于“设计模式”的东西。
可以架设出很多个属于service(在本地对很多功能进行包装)的类,或者甚至把较独立的功能就封装成内部的api(http的server)。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。