iOS์ฑ ๊ฐ๋ฐ๐: ์๋ฏธ ์๋ ๋ฐ์ดํฐ ๋ชจ๋ธ4
๊ฐ์ฒด, ๋ชจ๋๊ณผ Layer๋ฅผ ๋๋๋ค๋ฉฐ ๋ชจ๋ธ์ ๊ณต์ ํ๊ณ ์ ๋ฌํ๋ ๋์ ์ ๊ฐ์ฒด, ๋ชจ๋๊ณผ Layer๋ง๋ค ๋ณ๋์ ๋ชจ๋ธ, ๋ฐ์ดํฐ ์ ์ก ํํ(TransferObjects ๋๋ DTO๋ผ๊ณ ๋ ํจ)์ ์ฌ์ฉํ๋ ๋ชจ๋ธ ํ์ค์ํ๋ฅผ ์ฌ์ฉํ๋ฉด ์ฝ๋๋ฅผ ๊ฐ๊ฒฐํ๊ฒ ์ ์งํ๊ณ ๊ฐ๋ฐ, ์ฌ์ฉ ๋ฐ ํ์ฅ์ ์ฝ๊ฒ ํ ์ ์์ต๋๋ค. ํ์ง๋ง ์ถ์ํ๋ฅผ ํค์น ์ ์๋ค๋ ์ ์์๋ ๊ตณ์ด ์ฌ์ฉํด์ผ ํ๋? ๋ผ๋ ์๊ฐ์ด ๋ค ์ ์์ต๋๋ค. ๐ค ํ๋์ ์๋ก, โUserโ ๋ชจ๋ธ์ ํฌํจํ๋ โLoginModuleโ์ด ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด LoginModule์ User ๋ชจ๋ธ์ ์ฌ์ฉํ๋ 4๊ฐ์ ๋ชจ๋์ด ์์ต๋๋ค. ํต์ฌ์ 4๊ฐ๋ผ๋ ๊ฐ์๊ฐ ์๋ ๋ง์ ๋ชจ๋์์ ๊ฐ๊ฐ DTO๋ฅผ ๋ง๋๋ ๊ฒ์ด ๊ณผ์ฐ ๋ชจ๋ธ ํ์ค์ํ์ ์ฅ์ ์ ์ค๋กฏ์ด ๋๋ฆด ์ ์๋ ์ํฉ์ธ๊ฐ? ์ ๋ํ ์๋ฌธ์ด ๋ค ์ ์์ต๋๋ค. ๐ก ํญ์ ๋ชจ๋ธ ํ์ค์ํ๋ฅผ ํ์ฌ ๊ฐ๊ฐ ๋ชจ๋์ ๋ง๋ DTO๋ฅผ ๋ง๋ค ํ์๋ ์๋ค๋ ๊ฒ์ด ์ ์๊ฐ์ ๋๋ค. ๋น๋ฉดํ ์ํฉ์ ๋ฐ๋ผ ์์ฌ๊ฒฐ์ ์ ํ๋ฉด ๋ฉ๋๋ค. ํ์ง๋ง ํตํฉ ๋ชจ๋ธ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ํ๋์ ๋ชจ๋์์๋ง ๋ชจ๋ธ์ ๋ณ๊ฒฝ์ ํด์ผ ํด๋ 4๊ฐ์ ๋ชจ๋์ ๋ชจ๋ ๋ค์ ์ปดํ์ผํ๊ณ ๋ค์ ๋ฐฐํฌํด์ผ ํ๋ค๋ ์ ์ ๊ธฐ์ตํด์ผ ํฉ๋๋ค. ๋ชจ๋, ํ๋ก์ ํธ ๊ตฌ์กฐ์ ๋ฐ๋ผ ์ด ์์ ์ ๋ง์ ์์ ์ด ๋ ์ ์์ต๋๋ค. ๋ฐ๋ผ์, โ๋ชจ๋์ ๋ถ๋ฆฌํ๋ ค๋ ๊ฒฝ์ฐโ ์ ๋ ๋ณ๋์ ๋ชจ๋ธ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋ชจ๋์ ์ํคํ ์ฒ๋ฅผ ์งํฅํ๋ ์กฐ์ง์์๋ ๋ชจ๋ธ ํ์ค์ํ์ ์ฅ์ ์ ์ ๋๋ฆด ์ ์๋ค๋ฉด ์ข๊ฒ ์ต๋๋ค!