DIã³ã³ãã
Wikipediaã®Dependency injectionã®ãã¼ã¸ã«æ²è¼ããã¦ã¡ãã£ã¨ããæ°ãåºãã®ã§ãContainerJSã«èªåã¤ã³ã¸ã§ã¯ã·ã§ã³æ©è½ã追å ããver 0.4.0ã¨ãã¦ãªãªã¼ã¹ãã¾ãããâGoogle Code - ContainerJSèªåã¤ã³ã¸ã§ã¯ã·ã§ã³ã¯ãä¾åæ§æ³¨å ¥ãå¿ è¦ãªããããã£ã«è¦â¦
æãç«ã£ããåæ¥ãã¨ãããã¨ã§Google Codeã§ãJavaScriptã§ä½¿ããDIã³ã³ãããããã¸ã§ã¯ããç«ã¡ä¸ãã¾ããã ContainerJSProject Home ã ãã¯ãªãã¨ãè±è¨³ãã§ã£ã¡ããã¦ã¿ã¾ããããã£ã¨æ²æ¨ãªãã¨ã«ãªã£ã¦ããã«éããªããã¨ãããã¨ã§ä»æ¥ãããªã¼ãâ¦
Modelã®æ´æ°ããªã¹ã³ããã§ä½ã£ããªã¹ãç»é²ã¦ã¼ãã¤ãªãã£ãDIã³ã³ããã§ä½¿ããããã«ãã¦ã¿ã¾ããã DIã³ã³ããã«ç»é²ãããé¢é£ã¥ãæ å ±ã«å¾ã£ã¦ãã³ã³ãã¼ãã³ãã«ãªã¹ããè¨å®ãã¾ãã ã¦ã¼ãã£ãªãã£ã¯EagerSingletonãªã®ã§ç»é²ããã ãã§OK 以ä¸ã¯ãµâ¦
以åä½æããJavaScriptã§åãDIã³ã³ããã«ãã£ããæ©è½ã追å ãã¦ããã®ã§å ¬éãã¦ã¿ã¾ãã æ°æ©è½ã¯æ¬¡ã®3ã¤ã§ãã ã³ã³ãã¼ãã³ãå®ç¾©ãåæããAPIã®è¿½å ã é¢æ°å®è¡çµæã®ã¤ã³ã¸ã§ã¯ã·ã§ã³ããµãã¼ãã EagerSingletonã¹ã³ã¼ã ã³ã³ãã¼ãã³ãå®ç¾©ã®åæâ¦
JavaScriptã§åãDIã³ã³ããã®è§£èª¬ãã®3ãã°ãã¼ãã«ã¤ã³ã¿ã¼ã»ãã¿ã¼ã¯ãã¹ã¦ã®ã³ã³ãã¼ãã³ãã«é©ç¨ãããã¤ã³ã¿ã¼ã»ãã¿ã¼ã§ããè¤æ°ã®ã³ã³ãã¼ãã³ãã«ä¸æ¬ãã¦ã¤ã³ã¿ã¼ã»ãã¿ãé©ç¨ãããå ´åã«ä½¿ãã¾ãã binder.bindInterceptor()ã§ã³ã³ããã«ç»é²ãâ¦
JavaScriptã§åãDIã³ã³ããã®è§£èª¬ãã®2ããã¤ã³ãã¡ã½ããã¯ãç»é²æ¸ã¿ã³ã³ãã¼ãã³ãã®ä»»æã®é¢æ°ãã³ã³ãã¼ãã³ãã¨ãã¦ç»é²ããæ©è½ã§ãã ã¢ãã«ã®ãªã¹ãã¼ã¨ãã¦UIã³ã³ãã¼ãã³ãã®é¢æ°ãç»é²ã âå¤æ´éç¥ãåãã¦UIãæ´æ°ã éä¿¡ã¨ã©ã¼ã®ã³ã¼ã«ããã¯â¦
JavaScriptã§åãDIã³ã³ãããä½ã£ã¦ã¿ã¾ããã(âè¨ç») ä¸è¬çãªDIã³ã³ãããæã¤æ©è½ããµãã¼ã ã¤ã³ã¹ã¿ã³ã¹ç®¡ç(Singleton or Prototype)ãããããã£ã¤ã³ã¸ã§ã¯ã·ã§ã³ãåæåã¡ã½ããã®å®è¡ãªã© ã³ã³ãã¼ãã³ãå®ç¾©ã¯JavaScript APIã§ã è¨å®ãã¡ã¤ã«ã¯â¦
JavaScriptã§ä½¿ããDIã³ã³ããã¯ãªãããªã¨Googleã§10åã ãæ¢ãããã©è¦ã¤ãããªãã£ãã®ã§ãä½ããã¨ã«ãã¾ãã!(äºå®) ä½ã«ä½¿ãã®? MVCã§UIãä½ãã¨ãåã¬ã¤ã¤ã¼éã®ä¾åé¢ä¿ãä½æ°ã«è¤éã«ãªããã¡ã§ãã è¦ç´ ã®ã¤ãã³ããã³ãã©ã¨ã³ã³ããã¼ã©ã®é¢é£ä»â¦