Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package di
- import dagger.Module
- import dagger.Provides
- import di.dependencies.*
- @Module
- abstract class ComputerModule(private val memorySize: Int,
- private val vMemorySize: Int) {
- @Provides
- fun providesRam(): Ram = Ddr5Ram(memorySize)
- @Provides
- fun providesGraphicRam(): VideoRam = Ddr5VideoRam(vMemorySize)
- @Provides
- @Named("large")
- fun providesLargeGraphicRam(): VideoRam = Ddr5VideoRam(vMemorySize)
- @Provides
- fun providesMotherBoardWithLargeVideoRam(processor: Cpu,
- ram: Ram,
- @Named("large") videoRam: VideoRam): Gigabyte
- = Gigabyte(processor, ram, videoRam)
- @Module
- companion object {
- @Provides
- @JvmStatic
- fun providesPowerSupply(): Psu = Psu()
- }
- }
Add Comment
Please, Sign In to add comment