๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90

๐Ÿค2024 ์•ˆ๋“œ๋กœ์ด๋“œ/Filmo ์˜ํ™” ํ”„๋กœ์ ํŠธ35

[Android : Kotlin] ์˜์กด์„ฑ ์ฃผ์ž…์˜ ๊ธฐ๋ณธ์„ ์ดํ•ดํ•ด๋ณด์ž~! ๋“ค์–ด๊ฐ€๊ธฐ ์ „์—ํ”„๋กœ์ ํŠธ์—์„œ Hilt๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค. ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ธฐ์— ๋ฐ”๋น  Hilt๊ฐ€ ๋‚˜์˜ค๊ธฐ๊นŒ์ง€ ํ๋ฆ„์„ ์ œ๋Œ€๋กœ ์‹œ๊ฐ„ ๋“ค์—ฌ ๊ณต๋ถ€ํ•ด๋ณด์ง€ ๋ชปํ–ˆ๋Š”๋ฐ ์•ฑ ์ถœ์‹œ๋ฅผ ์œ„ํ•ด ํ…Œ์ŠคํŠธ๊นŒ์ง€ ๊ฑธ๋ฆฌ๋Š” ๊ธฐ๊ฐ„๋™์•ˆ ๊ทธ๋™์•ˆ ๋ชปํ–ˆ๋˜ ๊ณต๋ถ€๋ฅผ ํ•˜๋ฉฐ ๋ถ€์กฑํ•œ ๋‚ด์šฉ์„ ์ฑ„์›Œ๋ณด๋ คํ•œ๋‹ค~! ์˜ค๋Š˜์€ ์˜์กด์„ฑ ์ฃผ์ž…ํŒŒํŠธ!!์˜์กด์„ฑ ์ฃผ์ž… ๊ธฐ๋ณธ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ๋ทฐ๋ชจ๋ธ ๊ฐ์ฒด๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ๋ทฐ๋ชจ๋ธ ๊ฐ์ฒด๋ฅผ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๊ฐ์ฒด๊ฐ€ ํ•„์š”๋ ˆํฌ์ง€ํ† ๋ฆฌ ๊ฐ์ฒด๋ฅผ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ ์†Œ์Šค ๊ฐ์ฒด๊ฐ€ ํ•„์š”๋ฐ์ดํ„ฐ ์†Œ์Šค ๊ฐ์ฒด๋ฅผ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„œ ์„œ๋น„์Šค ๊ฐ์ฒด๊ฐ€ ํ•„์š”์„œ๋น„์Šค ๊ฐ์ฒด๋ฅผ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ ˆํŠธ๋กœํ• ๊ฐ์ฒด๊ฐ€ ํ•„์š”// ์ฝ”๋“œ ๊ตฌํ˜„ ์‹œ0. ๋ ˆํŠธ๋กœํ• ๊ฐ์ฒด ๊ตฌ์„ฑ1. ์„œ๋น„์Šค ๊ฐ์ฒด ๊ตฌ์„ฑ2. ๋ฐ์ดํ„ฐ ์†Œ์Šค ๊ฐ์ฒด ๊ตฌ์„ฑ 3. ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๊ฐ์ฒด ๊ตฌ์„ฑ4. ๋ทฐ๋ชจ๋ธ ๊ฐ์ฒด ๊ตฌ์„ฑ ์œ„์™€ ๊ฐ™์ด ์ˆœ์„œ๋Œ€๋กœ ๊ตฌํ˜„ํ•ด์ค˜์•ผํ•œ๋‹ค.๋‹ค๋ฅธ .. 2024. 12. 27.
MVC , MVP, MVVM ๋“œ๋””์–ด ์ดํ•ดํ–ˆ๋‹ค MVCM  : ๋ฐ์ดํ„ฐV + C : Activity, Fragment ๋“ฑ   ๋‹จ์  - Activity/ Fragment์—์„œ Model์— ๋Œ€ํ•œ ์˜์กด์„ฑ์ด ์ƒ๊ธด๋‹ค.- Model ๋‚ด๋ถ€ ๋กœ์ง์€ ์•Œ ํ•„์š”์—†์ด ๋ฐ์ดํ„ฐ๋งŒ UI์— ๋ฐ˜์˜ํ•ด์ฃผ๋ฉด ๋˜๋Š”๋ฐ, Model์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ์˜ํ–ฅ์„ ๋ฐ›๊ฒŒ ๋œ๋‹ค. ์ฒ˜์Œ์— ์ดํ•ดํ•  ๋•Œ Fragment๋ฅผ View๋กœ ๋ด์•ผํ• ์ง€ Controller๋กœ ๋ด์•ผํ• ์ง€ ํ˜ผ๋™๋˜์–ด ์–ด๋ ค์› ์ง€๋งŒ ๋‘˜๋‹ค๋ผ๊ณ  ์ƒ๊ฐํ•˜๋‹ˆ ์ดํ•ด ์™„๋ฃŒ !!  MVPM:  ModelV : ActivityP  : Presenter ์ด ๊ฒฝ์šฐ Presenter์—์„œ Model ๊ณผ View์— ๋Œ€ํ•œ ์˜์กด์„ฑ์ด ์ƒ๊ธด๋‹ค.Presenter๋Š” Model๋กœ ๋ถ€ํ„ฐ ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋งŒ ๋„˜๊ฒจ์ฃผ๋ฉด View์—์„œ ์•Œ์•„์„œ ํ™”๋ฉด UI์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ฃผ๋ฉด ๋˜๋Š”๋ฐ, ํ˜„์žฌ๋Š” View ๋ณ€๊ฒฝ์— ๋Œ€ํ•ด ์˜ํ–ฅ์„ .. 2024. 12. 20.
[์„œ๋ฒ„ ํ˜ธ์ถœ ์„ฑ๊ณต ์‹คํŒจ ์ฒ˜๋ฆฌ ] ๋ชจ์กฐ๋ฆฌ ์ˆ˜์ •ํ•˜๊ธฐ !!!! ๋ฐฐ๊ฒฝํ”„๋กœ์ ํŠธ๊ฐ€ ์ ์  ๋งˆ๋ฌด๋ฆฌ๋˜๋Š” ์ตœ๊ทผ... ์„œ๋ฒ„ ์ˆ˜์ •์„ ๊ธฐ๋‹ค๋ฆฌ๋ฉด์„œ ๊ธฐ์กด ๋กœ์ง์— ๋Œ€ํ•ด ์˜๋ฌธ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋˜ ๋ถ€๋ถ„์— ๋Œ€ํ•ด ์ด์ „์— ํ•จ๊ป˜ ํ–ˆ๋˜ ๊ฐœ๋ฐœ์ž๋ถ„๊ป˜ ์งˆ๋ฌธ์„ ๋“œ๋ ธ๋‹ค!!! ๊ทธ๋Ÿฐ๋ฐ ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋‚˜๋Š” ์„œ๋ฒ„ ์‹คํŒจ, ์„ฑ๊ณต ์ฒ˜๋ฆฌ์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ์ •~~๋ง ๋ถ€์กฑํ•œ ์ƒํƒœ์˜€๋‹ค. ๋”ฐ๋ผ์„œ ๊ทธ๋Ÿฐ ์ƒํƒœ๋กœ ์ง  ์ฝ”๋“œ๊ฐ€ ๋ชจ๋‘ ์ž˜๋ชป๋˜์—‡๋‹ค๋Š” ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›๊ฒŒ ๋˜์—ˆ๋‹ค.์ด๋ ‡๊ฒŒ ํฌ๊ฒŒ ์ž˜๋ชป๋œ ์ ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค๋‹ˆ ใ… ใ…   ์งˆ๋ฌธ์„ ๋“œ๋ ค์„œ ์ •๋ง ๋‹คํ–‰์ด๊ณ  ๋‹ต๋ณ€ ์ฃผ์‹  ๊ฒƒ์— ์ •๋ง ๊ฐ์‚ฌํ•˜๋‹ค ๐Ÿ™์ž˜๋ชป๋œ ์ฝ”๋“œ์ž˜๋ชป๋œ ์ฝ”๋“œ๋ฅผ ๋ณด๊ณ  ๋ฌธ์ œ์ ๊ณผ ๋ถ€์กฑํ•จ ์ ์„ ์ฑ„์›Œ๋ณด์žclass GetReportListUseCase @Inject constructor( private val reportRepository: ReportRepository, ) { op.. 2024. 11. 29.
๐Ÿ‘€ [Android Repository Pattern]์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  ์•Œ์•„๋ณด๊ธฐ! ํ”„๋กœ์ ํŠธ ์ค‘ Repository Pattern์— ๋Œ€ํ•ด์„œ ์ ์šฉํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.์ด์ „ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ์™œ Repository์˜ ๊ตฌํ˜„์ฒด์ธํ„ฐํŽ˜์ด์Šค , DataSource์˜ ์ธํ„ฐํŽ˜์ด์Šค์™€ ๊ตฌํ˜„์ฒด๋กœ ๋‚˜๋ˆ„์–ด์„œ ์ด 4๊ฐœ์˜ ํŒŒ์ผ์—์„œ ์ž‘์—…ํ•ด์•ผํ• ์ง€ ๋ช…ํ™•ํžˆ ์ดํ•ดํ•˜์ง€ ๋ชปํ–ˆ๋‹ค. ๊ทธ๋ƒฅ ํ•œ๋ฒˆ์— ํ•œ ํด๋ž˜์Šค์—์„œ ์ž‘์„ฑํ•˜๋ฉด ์–ด๋–ค ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๋Š” ๊ฒƒ์ธ๊ฑฐ์ง€? ํ•˜๋Š”  ์ƒ๊ฐ์„ ๊ฐ€์ง€๊ณ  ์žˆ์—ˆ๋‹ค.. ๋Š๋‚€ ์ ์„ ํ•˜๋‚˜์”ฉ ์ •๋ฆฌํ•ด๋ณด๋ฉด Repostiory pattern์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ์–ด๋–ค ์ ์ด ๋ถˆํŽธํ•œ์ง€ ์ง์ ‘ ๋Š๋‚„ ์ˆ˜ ์žˆ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๊ณ  ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉฐ Repository Pattern์„ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š” ์ด์œ ๋ฅผ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์šฐ์„  ์ง€๊ธˆ๊นŒ์ง€ Repository Pattern์„ ์‚ฌ์šฉํ•˜๋ฉด ํŽธํ–ˆ๋˜ ์ ๊ณผ ๋ถˆํŽธํ–ˆ๋˜ ์ ์„ ๊ณต์œ ํ•ด๋ณด๋ฉด๋ ˆํฌ์ง€ํ† ๋ฆฌ ํŒจํ„ด์— ๋Œ€ํ•œ ๊ฐ์ƒ : ํŽธ๋ฆฌํ•œ ์ ๊ณผ.. 2024. 11. 18.
728x90