MVC2 㨠Service層ã®é¢ä¿
ããã¾ãã²ã£ã±ã¤ãããããªãããè¨ããããã¨ã¯è¨ã£ãã®ã§èè¶³æãã£ã·ãã ãã© ^^;
id:yugui ããã®ã³ã¡ã³ãã¯å ¨ããã£ã¦é©åã ã¨æããã§ããã£ããã³ã¡ã³ããããã ããã®ã§ãåã®ã¨ã³ããªã繰り返される MVC model 2 の話 - 討論妄言録ãã§ä¸»å¼µãã¦ããäºãå³ã«èµ·ããã¦ã¿ãã
æå³ã¨ãã¦ã¯ãç¹å®ã®ãã¬ã¼ã ã¯ã¼ã¯ã«å¯¾ããæè¦ã¨ãã§ã¯ãªãã¦ãããã¾ã§ãã¢ã¼ããã¯ãã£ã¨ã㦠MVC2 ãã©ãçè§£ãã¹ãããã¨ããç¹ãç¦ç¹ã
Model = DB ã®æ½è±¡å層ã¨ã¿ãªãã¨
Model = DB ã®æ½è±¡å層ã¨ã¿ãªã㨠Model, View, Contoroller ã¨åã¬ãã«ã« Service ãèªããããã¨ã«ãªã (å³ 1)ãããã ã¨ãService ãåå¨ããªãæ§æã«ããå ´åã«ãå½ç¶ãªãããè¤æ°ã®ãã¼ã¿ãªãã¸ã§ã¯ãã«ã¾ããããã©ã³ã¶ã¯ã·ã§ãã«ãªå¦çãè¨è¿°ããå ´æã失ããã¦ãã¾ãããã®ãããªç¸®éãããæ§æã以ã£ã¦ãMVC2 ãã©ãã®ã¨ãããè°è«ãã¦ããããããããã¯ãMVC2 ã«ããæ½è±¡åæ§é ã¨ã¯ç°ãªãã®ã ãããæ¬æ¥çã§ã¯ãªãããã«æãããã¾ããåºæ¬æ§é ãªã®ã«ãåå¨ãããããªãã£ãããã¦ãããã¤ã³ãã¯ããå¼·ããã¦ãã¢ã¼ããã¯ãã£ã¨ãã¦ä½¿ãã«ããããã
ã¨ããããã§ãåé¡è¦ããã¨ããã¯ãæ§æã縮éããã¦ãã¾ã£ããã¨ããããã¯ãç°¡ååã§ããç¹å®ã®åé¡ã®ã¿ã主対象ã¨ãã¦è¨è¨ãããéå ·ããç°¡ååã§ããªãåé¡ã«ã¾ã§é©ç¨ãããã¨ãã¦ãããã®é¸æè¡çº*1ãã ãããä¸è¬çã«ã¯ãé䏿¬ã§ä½ã§ãæããã¨ããªãæ¹ãããã驿驿ã§ãé©åãªææ®µãé¸ã³ããã
Service 㯠Model å é¨ã®æ§ææ¹æ³
Service 㯠Model å é¨ã®æ§ææ¹æ³ã®è©± *2 ã§ãã£ã¦ãMVC2 ã®æèã§ä¸¦åã«èªãããã¹ãã§ã¯ãªãã®ã§ã¯ãªããããããService ãå«ã㦠Modelãã¨ã¿ãªãã¹ãã¨ãã (å³ 2)ã
MVC2 ã¨ãã¦ã¯ãService ã¯ãªãã¦ãè¯ããã¨ãããããActiceRecord ãªã©ã§ãã¼ã¿ããªãã¸ã§ã¯ãã¨ãã¦æ½è±¡åãããã¨ãå¿ é ã§ã¯ãªããMVC2 ã¨ãã観ç¹ã§ã¯ãã©ã¡ãã Model ã®å®ç¾ææ®µã«ãããªãããã
MVC2 != MVC
ãã¨ãèè¶³ã¤ãã§ã«ã
MVC2 (MVC model 2) ã¯ãMVC ã¨ããæåãå«ãã§ããããã©ãä»çµã¿ã¨ãã¦ã¯ MVC ã¨ã¯éãã®ã§ãç´ãããããååãé¡ä¼¼ãã MVC2 ã¨å¼ã°ããå¥ã®ãã®ãã¨è«¦ãã¦ããã ããã"MVC" 㨠"MVC2" ã¯ãæ°ãã¤ãã¦ä½¿ãåãã¦ããã¤ãããæã ãå¢ãã§æã¡æããããã©ã大æåå°æåãªã©ã®è¡¨è¨æ¹æ³ãå«ãã¦ã䏿åã§ãéãã°ç¡é¢ä¿ã®ãã®ãã¨ããã®ã¯ããã®æ¥çã®å¸¸è(ä½)ã ããã(^^;
*1:é©åãªä½¿ãæ¹ãç¥ããã«ä½¿ãç©ã«ãªããªãããªãã¦ããã®ã¯è«å¤
*2:id:yugui ããã®ãããサービスレイヤーとMVCは直交ãã¨ããã®ã¨åãäºã ã¨çè§£ãã¦ã