๋ ธ๋ ๋ค์ผ๋ฉฐ ์ค์ ํ๋ก์ ํธ๋ก ์๋๋ก์ด๋ ์ต์ ๊ธฐ์ ์ ๊ณต๋ถํด ๋ณด์! - ์ด๋ฆ ๊ถํฉ ํธ
๋ ธ๋๋ฅผ ๋ค์ผ๋ฉด์, Clean Architecture๋ฅผ ์งํฅํ๊ณ MVVM ๋์์ธ ํจํด์ ์ด์ฉํ ์๋๋ก์ด๋ ์ฑ์ ์ ์ํด๋ด์!
์๊ฐ์ 118๋ช
๋์ด๋ ์ค๊ธ์ด์
์๊ฐ๊ธฐํ ๋ฌด์ ํ
.jpg?w=736)
๊ธฐ์กด ์ฝ๋์์ Domain layer ๋ถ๋ถ์ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฑ์ ์์กด์ฑ์ ์ค์ด๊ธฐ ์ํด ์ฝ๋๊ฐ ๋ฐ๋์์ต๋๋ค.
๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ์ ๋ธ๋ก๊ทธ ๊ธ๋ก ์์ธํ ์์ฑํด ๋์์ต๋๋ค. ํน์ ๊ถ๊ธํ ์ ์ด ์์ผ์๋ฉด ๋๊ธ ๋จ๊ฒจ์ฃผ์๋ฉด ๋ต๋ณ๋๋ฆฌ๊ฒ ์ต๋๋ค.
https://asuhdevstory.tistory.com/entry/Android-clean-architecture%EC%97%90%EC%84%9C-domain%EC%9D%84-%EC%A2%80-%EB%8D%94-domain-%EB%8B%B5%EA%B2%8C
๋ณ๋๋ ์ฝ๋๋ฅผ ํ์ธํ์๋ ค๋ฉด ์๋ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํด ์ฃผ์ธ์
https://github.com/ParkSangSun1/Check_Percentage/commit/4d26b9aa284a2969e8a3e13320acda2b4c8133a2
์ ์ฒด ์ฝ๋๋ ์๋ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํด ์ฃผ์ธ์
https://github.com/ParkSangSun1/Check_Percentage
๊ธฐ์กด Gradle ๋ชจ๋ ๋ถ๋ถ์ Kotlin DSL ์ฌ์ฉ๋ฐฉ๋ฒ์ด ๋ฐ๋์์ต๋๋ค.
๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ์ ๋ธ๋ก๊ทธ ๊ธ๋ก ์์ธํ ์์ฑํด ๋์์ต๋๋ค. ํน์ ๊ถ๊ธํ ์ ์ด ์์ผ์๋ฉด ๋๊ธ ๋จ๊ฒจ์ฃผ์๋ฉด ๋ต๋ณ๋๋ฆฌ๊ฒ ์ต๋๋ค
https://asuhdevstory.tistory.com/entry/Kotlin-DSL%EC%9D%84-Kotlin-DSL%EB%8B%B5%EA%B2%8C-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0
๋ณ๋๋ ์ฝ๋๋ฅผ ํ์ธํ์๋ ค๋ฉด ์๋ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํด ์ฃผ์ธ์
https://github.com/ParkSangSun1/Check_Percentage/commit/c4dffe5da2cb9000cd16b8ddcc1cc7c4852bbebb
https://github.com/ParkSangSun1/Check_Percentage/commit/473cae2d4e6b705af6951539d5bcd6ef1b87f571
๊ฐ์์์ ์์ฑํ DataRepositoryModule, DataSourceModuleModule์์ @Singleton ์ด๋ ธํ ์ด์ ์ ์ฑ๊ธํค์ผ๋ก ๋ง๋ค ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ญ์ ํด ์ฃผ์ธ์!
๋ณ๋๋ ์ฝ๋๋ฅผ ํ์ธํ์๋ ค๋ฉด ์๋ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํด ์ฃผ์ธ์
https://github.com/ParkSangSun1/Check_Percentage/blob/main/app/src/main/java/com/pss/check_percentage/di/DataSourceModule.kt
https://github.com/ParkSangSun1/Check_Percentage/blob/main/app/src/main/java/com/pss/check_percentage/di/RepositoryModule.kt
๊ฐ์ฌํฉ๋๋ค :)
๊ฐ์์์ ์์ฑํ UseCase๋ ์ธํฐํ์ด์ค๊ฐ ์๋ class๋ก ์์ฑ๋์๊ธฐ ๋๋ฌธ์ ๋ณ๋์ ๋ชจ๋์ด ํ์ํ์ง ์์ต๋๋ค
UseCaseModule.kt ํ์ผ์ ์ญ์ ํด ์ฃผ์ธ์!
ํผ๋์ ๋๋ ค ์ฃ์กํฉ๋๋ค ๐
9๊ฐ API ํธ์ถ ๋ถ๋ถ์ ์์์ด 10๊ฐ๊ณผ ๋์ผํ ๋ถ๋ถ์ ์์ ํ์ต๋๋ค, ๊ฐ์ฌํฉ๋๋ค :)






