MVC设计思想,你真的明白吗?

小狼人对MVC设计思想的理解

        新工作是在一家以彩票业务为公司主业务的互联网公司,在这里遇到了一个大牛,和一个技术很厉害的小伙伴,我们三个一起做项目,大牛带了我们半年。

        大概大家都是从面向对象变成结束之后开视对这个AOP,IOC,MVC等等一系列的名词开始有所接触。刚来到这的时候,写完代码之后大牛会对我们的代码进行审核,部分代码不合格的话需要重新回路,而且不定时给我们开小灶上课。有一天的主要内容就是MVC思想在代码中的具体体现:

        M(MODEL)&V(VIEW)&(CONTROLLER),作为一个后端程序员,我们主要涉及的主要是控制层和MODEL层。MODEL相当于是我们在各层之前传输时的介质。如果我们的代码中有Controller,Service,Dao,不同项目层级结构可能会多或者少一些,这些都无所谓,主要是理解Controller层和Service层存在的意义。Dao层主要做的事情是Database Access Object(不理解的自己去补课),那么Controller层和Service主要做什么呢?我在上家公司的时候我们的业务都是写在Controller层的,但是感觉很不好,但是大家都这么干,没办法。

        Service主要做什么呢?主要是业务逻辑,包括事务的处理(建议也在这里做)。单纯的业务,比如说我们的登陆操作:肯定是先查询之后校验之类的,校验完毕之后把password设置为null,然后组装一个UserLoginBean或者直接返回上一层(Controller层),也有一种可能是玩引用,一直在使用一个对象,通过对该对象的某个字段进行操作实现业务。也就是说Service主要做的事情是什么?是业务处理。

        Controller层主要做什么呢?主要是权鉴和校验。我们的权限校验是在过滤器中完成的,前端是会做参数格式或非空校验,但是我们后端为了避免一些个直接盗用url的方式访问我们项目造成的恶性后果的话就必须做一些个非空或者正则匹配,如果非法的话,直接在controller层返回,不往下走Service层方法,合法的情况下返回业务层方法返回的结果。控制层做的主要是什么?权鉴和校验。

        当然,不能一片概全,因为还有一些个utils类中的静态方法之类的需要进行参数校验之后再执行,所以以上仅代表博主个人观点,有的时候在service还得做一些和业务无关的操作,具体情况,具体分析,不能学死了code。





        


猜你喜欢

转载自blog.csdn.net/qq1437715969/article/details/79936885
今日推荐