Community

iOS์•ฑ ๊ฐœ๋ฐœ๐ŸŽ: ์˜๋ฏธ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ๋ชจ๋ธ4

๊ฐ์ฒด, ๋ชจ๋“ˆ๊ณผ Layer๋ฅผ ๋„˜๋‚˜๋“ค๋ฉฐ ๋ชจ๋ธ์„ ๊ณต์œ ํ•˜๊ณ  ์ „๋‹ฌํ•˜๋Š” ๋Œ€์‹ ์— ๊ฐ์ฒด, ๋ชจ๋“ˆ๊ณผ Layer๋งˆ๋‹ค ๋ณ„๋„์˜ ๋ชจ๋ธ, ๋ฐ์ดํ„ฐ ์ „์†ก ํ‘œํ˜„(TransferObjects ๋˜๋Š” DTO๋ผ๊ณ ๋„ ํ•จ)์„ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋ธ ํƒˆ์ค‘์•™ํ™”๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ฝ”๋“œ๋ฅผ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์œ ์ง€ํ•˜๊ณ  ๊ฐœ๋ฐœ, ์‚ฌ์šฉ ๋ฐ ํ™•์žฅ์„ ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ถ”์ƒํ™”๋ฅผ ํ—ค์น  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์—์„œ๋Š” ๊ตณ์ด ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋‚˜? ๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿค” ํ•˜๋‚˜์˜ ์˜ˆ๋กœ, โ€˜Userโ€™ ๋ชจ๋ธ์„ ํฌํ•จํ•˜๋Š” โ€˜LoginModuleโ€™์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด LoginModule์˜ User ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜๋Š” 4๊ฐœ์˜ ๋ชจ๋“ˆ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ต์‹ฌ์€ 4๊ฐœ๋ผ๋Š” ๊ฐœ์ˆ˜๊ฐ€ ์•„๋‹Œ ๋งŽ์€ ๋ชจ๋“ˆ์—์„œ ๊ฐ๊ฐ DTO๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ๊ณผ์—ฐ ๋ชจ๋ธ ํƒˆ์ค‘์•™ํ™”์˜ ์žฅ์ ์„ ์˜ค๋กฏ์ด ๋ˆ„๋ฆด ์ˆ˜ ์žˆ๋Š” ์ƒํ™ฉ์ธ๊ฐ€? ์— ๋Œ€ํ•œ ์˜๋ฌธ์ด ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ’ก ํ•ญ์ƒ ๋ชจ๋ธ ํƒˆ์ค‘์•™ํ™”๋ฅผ ํ•˜์—ฌ ๊ฐ๊ฐ ๋ชจ๋“ˆ์— ๋งž๋Š” DTO๋ฅผ ๋งŒ๋“ค ํ•„์š”๋Š” ์—†๋‹ค๋Š” ๊ฒƒ์ด ์ œ ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค. ๋‹น๋ฉดํ•œ ์ƒํ™ฉ์— ๋”ฐ๋ผ ์˜์‚ฌ๊ฒฐ์ •์„ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ†ตํ•ฉ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ํ•˜๋‚˜์˜ ๋ชจ๋“ˆ์—์„œ๋งŒ ๋ชจ๋ธ์˜ ๋ณ€๊ฒฝ์„ ํ•ด์•ผ ํ•ด๋„ 4๊ฐœ์˜ ๋ชจ๋“ˆ์„ ๋ชจ๋‘ ๋‹ค์‹œ ์ปดํŒŒ์ผํ•˜๊ณ  ๋‹ค์‹œ ๋ฐฐํฌํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ์„ ๊ธฐ์–ตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“ˆ, ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ์— ๋”ฐ๋ผ ์ด ์ž‘์—…์€ ๋งŽ์€ ์ž‘์—…์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ, โ€˜๋ชจ๋“ˆ์„ ๋ถ„๋ฆฌํ•˜๋ ค๋Š” ๊ฒฝ์šฐโ€™ ์• ๋Š” ๋ณ„๋„์˜ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๋ชจ๋“ˆ์‹ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ง€ํ–ฅํ•˜๋Š” ์กฐ์ง์—์„œ๋Š” ๋ชจ๋ธ ํƒˆ์ค‘์•™ํ™”์˜ ์žฅ์ ์„ ์ž˜ ๋ˆ„๋ฆด ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค!

์•Œ๋ฆผ

์•Œ๋ฆผ์ด ์—†์Šต๋‹ˆ๋‹ค