title: Creating a subcomponent for each activity - good practice?
body: <p>I just started learning Dagger and I want to incorporate it into my application, after reading a lot of articles I started using Dagger the following way: </p>
  
  <pre><code>@ApplicationScope
  @Component(modules = [ApplicationModule::class])
  interface ApplicationComponent {
      fun addMainActivitySubComponent() : MainActivitySubComponent
  }
  
  @Module
  class ApplicationModule {
      @ApplicationScope
      @Provides
      fun provideBigClass() = BigClass()
  }
  </code></pre>
  
  <p>And for each activity: </p>
  
  <pre><code>@ActivityScope                                         
  @Subcomponent(modules = [SomeModule::class])      
  interface MainActivitySubComponent {                   
      fun inject(activity: MainActivity)                 
      fun inject(activity: HomeFragment)                 
  }  
  </code></pre>
  
  <p>Is creating a subcomponent for each activity good practice or am I doing something wrong?</p>