codeestX / GeekNews

:books:A pure reading App based on Material Design + MVP + RxJava2 + Retrofit + Dagger2 + Realm + Glide
3.49k stars 826 forks source link

关于presenter设计问题 #80

Closed fade0706 closed 7 years ago

fade0706 commented 7 years ago

你好!感谢提供的该开源项目,有以下问题请教 在Contract中定义的Presenter接口和相关方法并继承BasePresenter 而RxPresenter类实现了BasePresenter 而普通的Presenter继承RxPresenter,并去实现Contract中定义的Presenter接口

既然RxPresenter实现了BasePresenter,那为什么还要Contract中定义的Presenter接口去继承BasePresenter,这点没有理解

codeestX commented 7 years ago

@GoAheadComeOn Hello,从设计意义上来说,BasePresenter约定的是所有Presenter都应该具有的特性,无论是RxPresenter还是某个Contract中的Presenter都应该继承来表达出这个关系

举例来说,假如某些场景下,类仅需要继承RxPresenter或者仅需要实现Contract中的Presenter,我也不用做任何修改了,因为它们各自都保留了BasePresenter的特性

fade0706 commented 7 years ago

明白了。。。thinks