package Ġcom . ced rick flo con . android . show case . user . di Ċ Ċ import Ġcom . ced rick flo con . android . show case . user . data . UserRepository Impl Ċ import Ġcom . ced rick flo con . android . show case . user . domain . UserRepository Ċ import Ġcom . ced rick flo con . android . show case . user . domain . User UseCase Ċ import Ġcom . ced rick flo con . android . show case . user . domain . User UseCase Impl Ċ import Ġcom . ced rick flo con . show case . core . di . Data Component Ċ import Ġdagger . Bind s Ċ import Ġdagger . Component Ċ import Ġdagger . Module Ċ Ċ @ Component ( ĊĠĠĠ Ġdependencies Ġ= Ġ[ Data Component :: class ], ĊĠĠĠ Ġmodules Ġ= Ġ[ User Component . User Module :: class ] Ċ ) Ċ interface ĠUser Component Ġ{ ĊĊĠĠĠ Ġfun Ġuse Case (): ĠUser UseCase ĊĊĠĠĠ Ġ@ Component . Factory ĊĠĠĠ Ġinterface ĠFactory Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġcreate ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Component : ĠData Component ĊĠĠĠĠĠĠĠ Ġ): ĠUser Component ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Module ĊĠĠĠ Ġinterface ĠUser Module Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Bind s ĊĠĠĠĠĠĠĠ Ġfun Ġbind UseCase ( use Case : ĠUser UseCase Impl ): ĠUser UseCase ĊĊĠĠĠĠĠĠĠ Ġ@ Bind s ĊĠĠĠĠĠĠĠ Ġfun Ġbind Repository ( repository : ĠUser Repository Impl ): ĠUser Repository ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠProvider Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġprovide User Component (): ĠUser Component ĊĠĠĠ Ġ} Ċ Ċ } Ċ