๋ณดํ†ต ์˜์กด์„ฑ ์ฃผ์ž…์€ FindObjectofType๋ฅผ ์“ฐ๋Š”๋ฐ


์ด๋Š” ์”ฌ์—์„œ ๊ฒ€์ƒ‰์„ ํ•˜๊ธฐ๋•Œ๋ฌธ์— ๋งŽ์€ ์ž์›์„ ๋จน๋Š”๋ฐ

GPT๊ฐ€ ์ถ”์ฒœ์„ ํ•˜์ง€ ์•Š์Œ


์‹ฑ๊ธ€ํ†ค์€ ๊ทธ์—๋ฐ˜ํ•ด์„œ ๋ถ„๋ช…ํžˆ ์„ฑ๋Šฅ์  ์ด์ ์ด ์กด์žฌํ•จ


๋ณดํ†ต FindObjectofType๋ฅผ ์“ธ๋•Œ ์˜์กด์„ฑ ์ปจํ…Œ์ด๋„ˆ, ์ฆ‰ ์Šคํƒ€ํŠธ์—… ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•ด์„œ ์˜์กด์„ฑ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋งŒ๋“ค๊ณ  ๊ทธ๊ฑธ ๋ฐ”ํƒ•์œผ๋กœ ์˜์กด์„ฑ์„ ์ฃผ์ž…ํ•˜๋Š”๊ฒŒ


์ „ํ†ต์  ๋ฐฉ๋ฒ•์ด๊ณ , ๋งŽ์€ ํŒจํ„ด ์ฑ…์—์„œ ์žฅ๋ คํ•จ


๋‹ค๋งŒ ์ด๋Ÿฌํ•œ ์˜์กด์„ฑ ์ฃผ์ž…์ด ์ปค์งˆ์ˆ˜๋ก ๊ฒฐ์ •์ ์œผ๋กœ ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•ด์ง€๊ธฐ๋•Œ๋ฌธ์— ์ž‘์—…์†๋„์™€ ์ƒ์‚ฐ์„ฑ์ด ๋–จ์–ด์งˆ ์ˆ˜ ๋ฐ–์— ์—†์Œ.


์œ ๋‹ˆํ‹ฐ์—์„œ๋Š” zenject์™€ ๊ฐ™์€ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ง€์›ํ•˜๋Š”๋ฐ,


์ด ๊ฒฝ์šฐ ํด๋ž˜์Šค์—์„œ ์ธํ„ฐํŽ˜์ด์Šค-๊ตฌํ˜„ํด๋ž˜์Šค ์ƒ์„ฑ-์˜์กด์„ฑ ์ฃผ์ž… ์ปจํ…Œ์ด๋„ˆ๋กœ ํ•ด์•ผํ•ด์„œ ์ด ๊ฒฝ์šฐ ๋‚ด ์ธ๋ฒคํ† ๋ฆฌ ์‹œ์Šคํ…œ์„ ๋‹ค์‹œ ๊ณ ์ณ์•ผํ•จ.


์žฅ๋‹จ๊ธฐ์ ์œผ๋กœ ๋”ฐ์ง€์ž๋ฉด


public interface IItemDatabase

{

}

๋“ฑ์œผ๋กœ ๋งŒ๋“ค๊ณ ,


var itemDatabase=new ItemDatabase();

Field Item ์ƒ์„ฑ์‹œ ์•„์ดํ…œ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์˜ ์ธ์Šคํ„ด์Šค ์ฃผ์ž…์ด ๋งž๋Š”๋ฐ,


์ด๊ฒŒ ๋งž๋Š”๊ฑด๊ฐ€ ์‹ถ๋‹ค.


์ผ๋‹จ ์‹ฑ๊ธ€ํ†ค์˜ ์žฅ์ 


1. ์‰ฝ๊ณ  ๋น ๋ฅธ ๊ตฌํ˜„


2. ์„ฑ๋Šฅ์ƒ์˜ ๋ถ„๋ช…ํ•œ ์ด์ 


3. ์ฐธ๊ณ ํ•  ์ˆ˜ ์žˆ๋Š” ๋งŽ์€ ๋ ˆํผ๋Ÿฐ์Šค.


์‹ฑ๊ธ€ํ†ค์˜ ๋‹จ์ 


1. QA๊ฐ€ ์–ด๋ ต๊ณ  ๋ฒ„๊ทธํ…Œ์ŠคํŠธ๊ฐ€ ์–ด๋ ค์›€


2. ๋ชจ๋“ˆํ™”๋กœ ๋“ค์–ด๊ฐˆ ๊ฒฝ์šฐ ๋ชจ๋“ˆํ™” ์‹ฑ๊ธ€ํ†ค์˜ ๊ฐœ๋…์ด ํ›จ์”ฌ ์–ด๋ ค์›€


3. ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ๊ตฌํ˜„์— ๋”ฐ๋ฅธ ์–ด๋ ค์›€.(ํ์‡„์„ฑ)


์˜์กด์„ฑ ์ฃผ์ž…์„ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ์žฅ์ 


1. ๋‚ฎ์€ ๊ฒฐํ•ฉ๋„๋กœ ์ธํ•œ ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์„ฑ ์ฆ๊ฐ€


2. ๋ฒ„๊ทธ ํ…Œ์ŠคํŠธ๊ฐ€ ์‰ฌ์›€.


์˜์กด์„ฑ ์ฃผ์ž…์˜ ๋‹จ์ 


1. ๋‚ด ์ˆ˜์ค€์—์„œ ์‰ฝ์ง€ ์•Š์€ ์ฝ”๋“œ ๊ตฌํ˜„


2. ํ™•์žฅ์„ฑ์žˆ๋Š” ์ฝ”๋“œ


๋‚˜์˜ ๊ฒฝ์šฐ ์ด๋ฏธ ๊ฒŒ์ž„ ๋งค๋‹ˆ์ € ํด๋ž˜์Šค๋ฅผ ์‹ฑ๊ธ€ํ†ค์œผ๋กœ ๊ตฌํ˜„ํ–ˆ๊ธฐ๋•Œ๋ฌธ์— ์‹ฑ๊ธ€ํ†ค์ด ๋งŽ์„์ˆ˜๋ก ์ ์  ๋” ๋ฒ„๊ทธ ํ…Œ์ŠคํŠธ๊ฐ€ ํž˜๋“ค์–ด์ง„๋‹ค.


์ด ๊ฒฝ์šฐ ์ ˆ๋Œ€์ ์œผ๋กœ ๋‚ด๊ฐ€ ํŒ”์•„๋จน์„ ์ƒํ’ˆ์ธ ๊ฒŒ์ž„์—์„œ ์œ ์ €๋“ค์—๊ฒŒ ๋ถˆ์พŒํ•œ ๊ฒฝํ—˜์„ ์ค„ ๋ฒ„๊ทธ๋ฅผ ์žฅ๊ธฐ์ ์œผ๋กœ ์ˆ˜์ •ํ•˜๊ธฐ๊ฐ€ ํž˜๋“ค๋‹ค.


๋”ฐ๋ผ์„œ ์›๋ž˜๋ผ๋ฉด ์˜์กด์„ฑ ์ฃผ์ž…์„ ์„ ํƒํ•ด์„œ ์Šคํƒ€ํŠธ์—… ์Šคํฌ๋ฆฝํŠธ๋กœ ์˜์กด์„ฑ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ž‘์„ฑ ํ•˜๋Š”๊ฒŒ ๋งž๋‹ค.


ํ•˜์ง€๋งŒ ๋‚˜์˜ ๊ฒฝ์šฐ


1.Zenject ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์‚ฌ์šฉ ๊ฒฝํ—˜ ์—†์Œ


2.์™„์„ฑ๋œ ์ธ๋ฒคํ† ๋ฆฌ ์‹œ์Šคํ…œ์˜ ํ๊ธฐ


์ด 2๊ฐœ๋ฅผ ๊ณ ๋ คํ•ด์•ผํ•˜๋Š”๋ฐ, ์ด๋Š” ์ƒ๋‹นํžˆ ์„ ํƒ์ ์œผ๋กœ ๋งŽ์€ ๋ฌธ์ œ๋ฅผ ๋”ฐ๋ฅธ๋‹ค.


๋‹ค๋งŒ ์™„์„ฑ๋  ๊ฒฝ์šฐ์—”


1. QA์ƒ์˜ ์ด์ 


2. ์™„์„ฑ๋œ ์ธ๋ฒคํ† ๋ฆฌ ์‹œ์Šคํ…œ์— ์‹œ์Šคํ…œ ์ถ”๊ฐ€๊ตฌํ˜„์ƒ์˜ ์ด์ 


์ด์ค‘ 2๋ฒˆ์ด ์ƒ๋‹นํžˆ ๋งค๋ ฅ์ ์ธ ์˜ต์…˜์ธ๋ฐ, ์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค.


์ „์—… ๊ฐœ๋ฐœ์ž๋ผ๋ฉด ๋ฐฐ์›€์˜ ์‹œ๊ฐ„์ด ์ถฉ๋ถ„ํ•˜์ง€๋งŒ ๋‚˜๋Š” ๋…ธ๊ฐ€๋‹ค ๊ณต์žฅ์ผ์„ ํ•˜๋ฉด์„œ ๊ฒŒ์ž„ ๋งŒ๋“ค๊ธฐ๋–„๋ฌธ์— ๋น ๋“ฏํ•œ๋ฐ


์–ด๋ ต๋‹ค. ์ธ์ƒ


์™„์„ฑํ•œ๊ฑธ ๋ถ€์ˆœ๋‹ค๋Š” ์‹ฌ๋ฆฌ์  ์ €ํ•ญ๊ฐ์ด ๋„ˆ๋ฌด ํฌ๋‹ค.


๋ฒŒ์จ ๋ช‡๋ฒˆ์„ ํ–ˆ์ง€๋งŒ ์ด๊ฒŒ ์ œ์ผ ํž˜๋“ค๋‹ค


์‹œ๊ฐ„์ด๋ผ๋Š” ๋ฆฌ์†Œ์Šค๊ฐ€ ์กฐ๊ธˆ๋งŒ ๋” ๋งŽ์•˜์œผ๋ฉด ์ข‹์•˜์„ํ…๋ฐ

๋ฐฐ์›€์˜ ๋‚˜์ด๊ฐ€ ๋„ˆ๋ฌด ๋Šฆ์—ˆ๊ณ , ์‹œ๊ฐ„์ด๋ผ๋Š” ๋ฆฌ์†Œ์Šค๊ฐ€ ๋„ˆ๋ฌด ๋ถ€์กฑํ•˜๋‹ค.