初学者不太明白,特请教
看到某个大型mvc应用上,对控制器基类Controller类进行了继承,如myBaseController:Controller,然后很多类又对myBaseController继承,请问继承Controller类有什么特别的用途吗?
另外对视图的继承呢,是否也有特别作用?
一般什么情况下才需要对controller子类进行继承呢

解决方案 »

  1.   

    1.把一些继承类共有的行为属性,写到基类中,这样下次做个差不多的controller的时候,很多东西都不用在写了,继承就行了。
    2.为了做全局控制,在基类中预留一些接口,当以后所有继承的子类有些东西需要改变或添加的话,只需要改改基类就行了。
      

  2.   

    Controller也只一个提供数据的类而已
      

  3.   

    还不是很理解,能不能举个简单例子说明一下呢,比如那个权限验证的例子,说详细点好吗
    总感觉controller就是要填充一个view,他的子类填充的view就能怎么怎么样了,哎呀,想不过来啊
      

  4.   

    MVC框架会将用户的http请求转发给控制器类。控制器类被执行,然后返回View,为什么MVC将请求转发给控制器,控制器能执行呢,因为控制器类有它的约定,这些约定是其他类(比如你随意写个类)不具备的。你从Controller继承的类,就满足这样的约定。至于权限验证,正确的做法是应该被放在验证过滤器里面(面向对象设计的单一职责原则),而不是堆砌在控制器里面。打一个比方,MVC控制器是一个汽车司机,它负责把汽车开到目的地。但是它需要你提供汽车。你提供电视机、冰箱、石块它无法驾驶。你提供奔驰汽车、宝马汽车、丰田汽车,它则都可以驾驶。那么汽车就相当于Controller基类,你提供的必须是它的子类,比如宝马汽车,或者从宝马汽车继承的宝马740Li汽车。