ºÇ½ª¹¹¿·¡§
orika_ex_miyako 2023ǯ03·î27Æü(·î) 21:43:18ÍúÎò
¡¡DI ¥³¥ó¥Æ¥Ê¤È¤Ï¡¢Unity¤ÇC#¤ò»È¤Ã¤Æ³«È¯¤ò¹Ô¤¦ºÝ¤Ë¡¢°Í¸À¤ÎÃíÆþ¡ÊDependency Injection: DI¡Ë¤ò¹Ô¤¦¤¿¤á¤Î»ÅÁȤߤòÄ󶡤¹¤ë¥³¥ó¥Æ¥Ê¤Î¤³¤È¤Ç¤¹¡£
°Í¸À¤ÎÃíÆþ¤È¤Ï¡¢¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¥×¥í¥°¥é¥ß¥ó¥°¤Ë¤ª¤¤¤Æ¡¢¥¯¥é¥¹¤ä¥ª¥Ö¥¸¥§¥¯¥È¤Î°Í¸´Ø·¸¤ò²ò·è¤¹¤ë¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥ó¤Î1¤Ä¤Ç¤¹¡£
DI¥³¥ó¥Æ¥Ê¤Ï¡¢°Í¸´Ø·¸¤Î¤¢¤ë¥ª¥Ö¥¸¥§¥¯¥È¤ò¼«Æ°Åª¤ËÀ¸À®¤·¡¢Å¬ÀڤʾõÂÖ¤ÇÄ󶡤¹¤ëÌò³ä¤ò²Ì¤¿¤·¤Þ¤¹¡£
¡¡°Í¸À¤ÎÃíÆþ¤È¤¤¤¦¸ÀÍդǹͤ¨¤ë¤È¥¤¥á¡¼¥¸¤¹¤ë¤³¤È¤¬Æñ¤·¤¤¤¿¤á¡¢
¥×¥í¥°¥é¥à¤Î¥Ñ¡¼¥Ä¡Ê¥¯¥é¥¹¤ä¥ª¥Ö¥¸¥§¥¯¥È¡Ë¤¬¤ª¸ß¤¤¤Ë¤¦¤Þ¤¯¶¨ÎϤ·¤Ê¤¬¤éư¤¯¤è¤¦¤Ë¡¢
´Ø·¸¤òÀ°Íý¤·¤Æ¤¯¤ì¤ëÌò³ä¤ò²Ì¤¿¤¹¡¢¤È¹Í¤¨¤Æ¤ª¤¯¤È¤è¤¤¤Ç¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢¥³¡¼¥É¤¬¤¤ì¤¤¤Ç¥á¥ó¥Æ¥Ê¥ó¥¹¤·¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£
¡¡VContainer(¥Ö¥¤¡¦¥³¥ó¥Æ¥Ê)¤Ï¡¢Unity¸þ¤±¤Î·ÚÎ̤ÊC# DI¥³¥ó¥Æ¥Ê¤Î1¤Ä¤Ç¡¢¹â®¤Ç³ÈÄ¥À¤ËÍ¥¤ì¤Æ¤¤¤Þ¤¹¡£
VContainer¤Ï¡¢°Í¸À¤Î²ò·è¤ò¹Ô¤¦¤¿¤á¤Ë¡¢¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ä¥µ¡¼¥Ó¥¹¤Î¥é¥¤¥Õ¥¿¥¤¥à´ÉÍý¤òÄ󶡤·¤Þ¤¹¡£
¤Þ¤¿¡¢¥¢¥»¥ó¥Ö¥êÄêµÁ¤ä¥¸¥§¥Í¥ê¥Ã¥¯·¿¤Î¥µ¥Ý¡¼¥È¤Ê¤É¡¢Unity¤È¤Î¿ÆÏÂÀ¤¬¹â¤¤ÆÃħ¤¬¤¢¤ê¤Þ¤¹¡£
¤³¤Î¤¿¤á¡¢Unity¥×¥í¥¸¥§¥¯¥È¤Ç¤Î³«È¯¤ò¸úΨ²½¤¹¤ë¤¿¤á¤ËÍøÍѤµ¤ì¤ë¤³¤È¤¬Â¿¤¤¤Ç¤¹¡£
VContainer
Qiita @sakano ÍÍVContainerÆþÌç
note ¥¢¥Ã¥×¥Õ¥í¥ó¥Æ¥£¥¢³ô¼°²ñ¼Ò ÍÍ
VContainerÆþÌç – MVP¥Ñ¥¿¡¼¥ó¤òÁȤó¤Ç¤ß¤ë
¡¡°Ê²¼¤Ï VContainer ¤È¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤òÍøÍѤ·¤Æ¡¢¥²¡¼¥à¤Î½é´ü²½½èÍý¤ò¹Ô¤¦ºÝ¤Î¼ÂÁõÎã¤Ç¤¹¡£
¡¡¾åµ¤Î¥³¡¼¥É¤Ç¤Ï¡¢IInitializable¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤·¤¿¥¯¥é¥¹¤òVContainer¤Ç¼«Æ°Åª¤Ë¼èÆÀ¤·¡¢Start´Ø¿ôÆâ¤ÇInitialize´Ø¿ô¤ò½ç¼¡¸Æ¤Ó½Ð¤·¤Æ¤¤¤Þ¤¹¡£
¡¡GameInitializer¤Ë¤Ï¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¾å¤ÇInject°À¤òÉÕ¤±¤ë¤³¤È¤Ç¡¢
¥²¡¼¥à³«»Ï»þ¤ËVContainer¤¬IInitializable¤ò¼ÂÁõ¤·¤¿¥¯¥é¥¹¤ò¼«Æ°Åª¤Ë¼èÆÀ¤·¡¢initializables¤Ë³ÊǼ¤·¤Þ¤¹¡£
¡¡¤½¤Î¸å¡¢foreachʸ¤ò»È¤Ã¤ÆinitializablesÆâ¤ÎÁ´¤Æ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ËÂФ·¤ÆInitialize´Ø¿ô¤ò¸Æ¤Ó½Ð¤·¡¢¥²¡¼¥à¤Î½é´ü²½½èÍý¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£
- ¥«¥Æ¥´¥ê¡§
- ¿Ê³Ø/¥¹¥¯¡¼¥ë
- ¥×¥í¥°¥é¥ß¥ó¥°
¥³¥á¥ó¥È¤ò¤«¤¯