์ฌ์ฌํด์ ์ฐ๋ ์ ์ ํธํ๊ธฐ.
๊ฒฐ๋ก :ย ์ด๋ณด์๋ฉด ์ฐ์ง๋ง์
๋ ์๋ ๋ณธ์ ์ด ์๋์ฐจ๋ถํ์ ์ฒด ํ์ฌ์์ด์ผ.ย ์ ๊ณต๋ ๋ฌธ๊ณผ๊ณ ..ย ย ย
์ ์กฐ์ ์ฒด์์ ์ ๋์ ์ผ๋ก ์ง์ผ์ผ๋ ๊ฒ ์๋๋ฐย ๋ฐ๋ก ํํ๋ฃจํย ย ๊ฝ์ฐฌ๋ค๊ณ full proof๊ฐ ์๋๋ผ ๋ฐ๋ณด๋ ๋ฌธ์ ์๊ฒย ๋ง๋ค์ด์ผ ๋๋ค๊ณ fool proof๋ค
์ ๋ํฐ๋ก ํ๋ฐ์ย ์ฒ์ ๋ฐฐ์ฐ๊ณ C#์ผ๋ก ์ธ์ด๋ฅผ ์ฒ์์ ํ ๋์๊ฒ ๊ฐ์ฅ ์ด์ํ๊ฑด
[Serialized]๋ก ์์กด์ฑ์ ๋๋๊ทธ์ค ๋๋ ์ฃผ์ ํ๋๊ฑฐ์์ด
์ด๊ฒ์ ๊ฒ ์ฃผ์ ํ์ํ๊ฒ๋ ์คํฌ๋ฆฝํธ๋ฅผ ์ง๋ค๊ฐ ๋์ค์ ๋๋๊ทธ๋ฅผ ๊น๋ฐํ๋ฉด ์ค๋ฅ๊ฐ๋จ๋ค?ย ํด๋์ค ์ด๋ฆ ๋ฐ๊พธ๋ฉด ๋ค์ ๋๋๊ทธ์ค ๋๋..ย ย
์ด๊ฒ ๋ญ๊ฐ ์ถ์์ง.ย ย ย f/p๊ด์ ์์ ๊ตฌ์กฐ๊ฐ ๋ณต์กํด์ง์๋ก ์์ ์ ์ค์ ๊ฐ๋ฅ์ฑ์ด ๋์๋ณด์์ด ๋ง์ฐํ๊ฒ
์ ์ ํธ๋ฅผ ์ฐ๋ฉด ์์กด์ฑ์ ๋๋๊ทธ์ค ๋๋ ์์ด ์ฝ๋๋ก ๋ค ๋ฃ์ ์ ์๋ค๋๋ฐ?
์์กด์ฑ์ ํ๋ก์ ํธ ๋จ์๋ก ๋ฃ์ ์ ์๋ค๋๋ฐ?ย (find๋ถํ์)
๋ชจ๋ ธํผํค์ด๋น์ด/๊ฒ์ปดํฌ๋ํธ๋ฅผย ์ต์ํํ ์ ์๋ค๋๋ฐ? ํ๋ ์๊ธฐ๋ฅผ ๋ฃ๊ณ ์ ์ ํธ์ ์ ๋ฌธํ๊ณ ย
"์ ๋ํฐ/C#" ๋ฌธ๋ฒ๋ ๊น์์์ค์ผ๋ก ํ์ต์ด ์๋์ด ์๋๋ฐ ์ด๊ฑธ ๋ฐฐ์ด๊ฑฐ์งย
๊ฒฐ๊ณผ์ ์ผ๋ก ์๋ํ๋๋๋กย ์ฐ์ต์ฉ ๊ฒ์์ ๋ง๋ค๊ธด ํ๊ณ ๊ฝค ์ดํดํ๊ธด ํ๋ค. ย ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ์ด๊ฑธ ์ฐ๋ฉด ์ ๋ ์๋๋ค๋ ๊ฒฐ๋ก ์ด ์ด์ ๋์๋๋ฐ
1. ๋ณ์ ๋ณ ์ธ์คํจ๋ฌ๋ค
ํ๋ก์ ํธ ์ธ์คํจ๋ฌ, ๊ฐ ์ฌ๋ง๋ค ์ธ์คํจ๋ฌ, ํ๋ ์ด์ด๋ฅผ ์ํ ์ธ์คํจ๋ฌ,ย enemy๋ฅผ ์ํ ์ธ์คํจ๋ฌ,ย ๋ณ์ ๋ณ ์ธ์คํจ๋ฌ๊ฐ ๋ฑ์ฅํ๋ค.
์ ์ ํธ๊ฐ ๊ฒฐ๊ตญ ์์กด์ฑ ๋ฐ์์ค๊ธฐ์ํด ์ฐ๋๊ฑฐ๊ณ ย ย ๋ฐ์์ค๋ ค๋ฉด ๋ฏธ๋ฆฌย ์ค์์ ๋ฐ์ธ๋ฉ์ ํด์ค์ผ๋๋๋ฐย
๋ญ ํด๋์ค ํ๋ ๋ง๋ค๋๋ง๋ค ์ด๋์ ๋ฌถ์ด์ผ๋ ์งย ์ฝ๋๋ก ์ ์๋ฅผ ํด์ค์ผ๋จย ย ์ด๊ฑฐ ์์ฑ์ด ๋ณต์กํ๊ณ ์ค๋๊ฑธ๋ฆผ
2. ๋ฌธ๋ฒ
๊ทธ๋ฅ Bind์ธ์ง BindInterFaceAndSelfTo์ธ์งย BindInstance์ธ์งย WithArgument๊ฐ ํ์ํ์ง ํ์ฌ๊ฐ ์กด๋ด ํท๊ฐ๋ฆฐ๋ค.
๋ฌธ์ ๋ ๊ทธ๋ฅ C#์ด๋ ์ ๋ํฐ ๋ฌธ๋ฒ์ด ์๋๋ผ ๊ฒ์ํด๋ ๋ฑ ๋ง๊ฒ ์๋์ฌ๋๊ฐ ๋ง๊ณ ๋งจ๋ ์ ํค๋ฉ์์ผ๋ก ๋ ๋๊น์ง ์ด๊ฒ์ ๊ฒ ๋ฃ์ด๋ด์ผ๋จ
์๋๋ ์ํฉ์์๋ย ์ด๊ฒ ๋ฐ์ธ๋ฉ์ ์ค์ํ๊ฑด์ง, ๋ฐ์์ค๋ ๊ฑธ ์ค์ํ๊ฑด์งย ๋ฐ๋ก ์๊ธฐ๊ฐ ์ด๋ ต๋ค๋ณด๋ย ์กด๋ ์ง์น๋ค ์ง์ง..
3. ๊ตฌ์กฐ์ดํด
๊ฒ์์ ํ๋ ๊ทธ๋๋ ๊ทธ๋ด๋ฏํ๊ฒ ๋ง๋ค๊ณ ํ๋ค์ด์ ํ๋ฌ ์ฌ๋ค๊ฐ ๋ค์ ๋ง์ง๋๋ฐ...
์ ๋ํฐ ์ธ์คํํฐ์์ ํด๋์ค๊ฐ ์๋ค์ด๊ฐ ์์ผ๋ย ์ด๋ค ์ค๋ธ์ ํธ์ ์ด๋ค ํด๋์ค๊ฐ ๋ถ๋๊ฑด์ง ๊ตฌ์กฐํ์ ์ดย ๋ ์ด๋ ค์
๋น์ฐํ ์ค๋๋ง์ ํ์ผ๋ย ์ฝ๋ ๊ณ ์น๋ฉด ์ ์ ํธ๊ฐ ์ค๋ฅ๋ฑ๊ณ ๊ฒ์ํ๋ฉด ์๋์ค๊ณ ...
์๋ํฐ์์ ํด๋์ค๋ฅผ ๋๋๊ทธ ํ์ง ์์์ ์ข๋ค๊ณ ์๊ฐํ๋๋ฐย ๋๋๊ทธ๋ฅผ ์ํด๋์๊ฑธ ์ค๋๋ง์ ๋ณด๋ย ํ์ ์ด ๋๋ฌด์ด๋ ค์ ใ
4. ์คํฌ๋ฆฝํฐ๋ธ ์ค๋ธ์ ํธ ์ฌ์ฉ๊ด๋ จ
๋ณดํต ๋ชจ๋ ธ๋นํค์ด๋น์ด ํด๋์ค๋ฅผย ์ค๋ธ์ ํธ์ ๋ถ์ฌ๋๊ณ ย [Serialized] ์ค์ ํด๋ ผ ํด๋์ค์ ์์น๋ฅผ ์ธ์คํํฐ์์ย ์กฐ์ ํด์ฃผ๋๊ฒ ์ผ๋ฐ์ ์ธ๋ฐ
์ด ์ข๊ฐ์ ์ ์ ํธ๋ ์ ์ด์ ๋ชจ๋ ธ๋นํค์ด๋น์ด ํด๋์ค๋ฅผ ๋ถ์ฌ์ฃผ๊ธฐ์ํด ๋์จ๊ฑฐ๋ย ย ์ค๋ธ์ ํธ์ ์๋ถ์ด์์ด์ ๊ทธ๋ ๊ฒ ์กฐ์ ์ด ์๋ผย ย ย (์ค๋ช ์ด ์ด๋ ต๋คใ )
๊ฒฐ๊ตญ S/O๋ฅผ ์จ์ผ๋๋๋ฐ ์ด๊ฑฐ ์ค์ ํ๋ ค๊ณ ๋ ํด๋์ค๊ฐ ๋์ค๊ณ ์ด๋ฐ์ ๋ฐ ์์น๋ค ํ๋ฐ ๋ชจ์์ย ์ค์ ํ๋๋ฐ
์ด๊ฒ ์ ๋ณด์ด๊ฒ ์ง๋์ง ์์ผ๋ฉด ์ด๋ง๋์ง ์ฐพ๋ค๊ฐ ๋ ์๊ฐ๋ณด๋..
C#/์ ๋ํฐ๋ฅผ ์ ๋ฌธํด์ 6๊ฐ์์ ์ด์ฌํ ๊ณต๋ถํ๊ณ ๊ทธ ๋ง์ง๋ง์๋ ์ ์ ํธ๋ฅผ ๋ถํ์ ๋๋ฐย ํ๋ฌ ์ฌ๋ค๊ฐ ๋ค์๋ณด๋ ๊ตฌ์กฐ ์ดํด๊ฐ ์๋์ด
๊ทธ๋ฅ ๊ฒ์๊ฐ๋ฐ์ ์ ๊ฒ๋์ด.ย ย ย ๋ฌผ๋ก ๋ด๊ฐ ๋นก๋๊ฐ๋ฆฌ๋ผ ๊ทธ๋ฐ๊ฑธ์๋ ์๊ณ ์ ์ ์ด ์๋๋ผ ๊ทธ๋ฐ๊ฑธ์๋ ์๊ฒ ์งย ย (ํ๊ท ํ๋ฃจ์ 1~2์๊ฐ์ ๋๋ด...)ย
๊ทธ๋ฌ๋ค๊ฐ 1๋
์ฌ๊ณ ๋์์๊ณ ๋ค์ ๋ด๊ฐ ๋ง๋ค์๋๊ฑธ ๋ณด๋ ํ์จ๋ง ๋์ดย 1๋ ์ดํด๊ฐ ์๋จ ใ
ใ
์ฐจ๋ผ๋ฆฌ ์ ๊ฑฐ ๋ฐฐ์ธ ์๊ฐ์ ์ฝ๋ฃจํด ์์ธํ ๋ฏ์ด๋ณด๊ณ ๋ทํธ์๊ฐ์๊ฑฐ ๋ฐฐ์ฐ๊ณ ย C# LINQ๊ฐ์๊ฑฐ ๋ฐฐ์ธ๊ป ํ๋ ํํ๊ฐ ๋ง๋ค.
์ ์ ํธ ๋ฐฐ์ธ๋ ๋๋ฌด ๊ฒ์ํด๋ ๋์ค๋๊ฒ ์์ด์ ๊ฒฐ๊ตญ ์ฌ๊ธฐ ์ธ๋๊ฐค๊น์ง ์์๋๋ฐย ํน์ ๋๊ตฐ๊ฐ ๊ฒ์ํ์๋ ์ฐธ๊ณ ํ๊ณ ๊ทธ๋ฅ ์๋ฐฐ์ฐ๊ธธ ๋ฐ๋!ย
์คํธ๋ ์ค ๋ฐ์ง๋ง๊ณ ๋์ถฉ Find๋ก ์ฐพ์^^
ํ๊ธฐ์ถ - dc App
๋๋ DI ์์ฒด๋ ์ข์ํ๋๋ฐ IoC๋ ์ข ๋ถ์ ์ ์
์์กด์ฑ์ ๋์ ์๋ณด์ด๋๊ณณ์ผ๋ก ์น์๋ฒ๋ฆฐ๊ฑฐ์ง ์์ด์ง๊ฒ ์๋๋ผ์ ์ด๊ฒ ์ฐธ ๊ณค๋ํ ๋๊ฐ ๋ง์
find๋ก ๋ชจ๋ ๊ฑธ ํด๊ฒฐ๊ฐ๋ฅ^^
์ ์ ํธ ํฌ๊ธฐ์ถ
์ ์ ํธ๋ ํฌ๊ธฐํ๋์ฌ๋์ด ๋๋ํ๊ฒ....