ãã®èšäºã¯ããœãããŠã§ã¢ã¢ãŒããã¯ãã£ã«é¢ããäžé£ã®èšäºã§ããChronicle of Software Architectureã®äžéšã§ãã ãããã«ã¯ããœãããŠã§ã¢ã¢ãŒããã¯ãã£ã«ã€ããŠåŠãã ããšãããã«ã€ããŠã©ãæãããç¥èãã©ã®ããã«äœ¿ããã«ã€ããŠæžããŠããŸãã ãã®èšäºã®å 容ã¯ãã·ãªãŒãºã®ä»¥åã®èšäºãèªãã æ¹ãæå³ããããŸãã
倧åŠãåæ¥åŸãé«æ ¡ã®æåž«ãšããŠåãå§ããŸããããæ°å¹Žåã«èŸããŠãã«ã¿ã€ã ã®ãœãããŠã§ã¢éçºè ã«è¡ããŸããã
ãã以æ¥ãã倱ããããæéãå埩ããã§ããã ãæ©ããã§ããã ãæ©ãèŠã€ããå¿ èŠããããšåžžã«æããŠããŸããã ãããã£ãŠãç§ã¯ãœãããŠã§ã¢ã®èšèšãšã¢ãŒããã¯ãã£ã«ç¹ã«æ³šæãæããªãããå°ãå®éšã«é¢äžãå§ããããããã®èªã¿æžããããŸããã ããããç§ãç 究ã«åœ¹ç«ã€ããã«ãããã®èšäºãæžããŠããçç±ã§ãã
ååã®èšäºã§ã¯ãç§ãåŠãã å€ãã®æŠå¿µãšååã«ã€ããŠããããŠãããã«ã€ããŠã©ã®ããã«æšè«ãããã«ã€ããŠå°ã話ããŸããã ããããç§ã¯ãããã1ã€ã®å€§ããªããºã«ã®æçãšèããŠããŸãã
ãã®èšäºã§ã¯ãããããã¹ãŠã®ãã©ã°ã¡ã³ããã©ã®ããã«ãŸãšãããã«ã€ããŠèª¬æããŸãã ãããã«ååãä»ããå¿ èŠãããããã§ãã®ã§ã æ瀺çãªã¢ãŒããã¯ãã£ãšåŒã³ãŸãã ããã«ããããã®æŠå¿µã¯ãã¹ãŠãæŠéãã¹ãæžã¿ãã§ãããä¿¡é Œæ§ã®é«ããã©ãããã©ãŒã ã§å®çšŒåã§äœ¿çšãããŠããŸãã ãããã®1ã€ã¯ãäžçäžã«æ°åã®ãªã³ã©ã€ã³ã¹ãã¢ãæã€SaaS eã³ããŒã¹ãã©ãããã©ãŒã ã§ããããã1ã€ã¯ã2ãåœã§åäœãã1ãæããã2,000äžãè¶ ããã¡ãã»ãŒãžãåŠçããã¡ãã»ãŒãžãã¹ãåããååŒãã©ãããã©ãŒã ã§ãã
- ã·ã¹ãã ã®åºæ¬ãããã¯
- ããŒã«
- ããŒã«ãšé
ä¿¡ã¡ã«ããºã ãã¢ããªã±ãŒã·ã§ã³ã³ã¢ã«æ¥ç¶ãã
- ã¢ããªã±ãŒã·ã§ã³ã³ã¢ã®æ§æ
- ã³ã³ããŒãã³ã
- å¶åŸ¡ãããŒ
ã·ã¹ãã ã®åºæ¬ãããã¯
ãŸããEBIãšããŒããšã¢ããã¿ãŒã®ã¢ãŒããã¯ãã£ãŒãæãåºããŠã¿ãŸãããã ã©ã¡ãããã¢ããªã±ãŒã·ã§ã³ã®å éšã³ãŒããšå€éšã³ãŒããããã³å éšã³ãŒããšå€éšã³ãŒããæ¥ç¶ããããã®ã¢ããã¿ãŒãæ確ã«åé¢ããŠããŸãã
ããã«ã PortsïŒAdaptersã¢ãŒããã¯ãã£ã¯ãã·ã¹ãã å ã®3ã€ã®åºæ¬çãªã³ãŒããããã¯ãæ瀺çã«å®çŸ©ããŸãã
- ããã«ãããã¿ã€ãã«é¢ä¿ãªãã ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ãå®è¡ã§ããŸãã
- ã·ã¹ãã ããžãã¹ããžãã¯ãŸãã¯ã¢ããªã±ãŒã·ã§ã³ã³ã¢ ã UIãå®éã®ãã©ã³ã¶ã¯ã·ã§ã³ãè¡ãããã«äœ¿çšããŸãã
- ã¢ããªã±ãŒã·ã§ã³ã®ã³ã¢ãããŒã¿ããŒã¹ãæ€çŽ¢ãšã³ãžã³ããµãŒãããŒãã£APIãªã©ã®ããŒã«ã«æ¥ç¶ããã€ã³ãã©ã¹ãã©ã¯ãã£ã³ãŒãã
ã¢ããªã±ãŒã·ã§ã³ã®äžæ žã¯ãèããæãéèŠãªããšã§ãã ãã®ã³ãŒãã«ãããã·ã¹ãã ã§å®éã®ã¢ã¯ã·ã§ã³ãå®è¡ã§ããŸããã€ãŸãããããã¢ããªã±ãŒã·ã§ã³ã§ãã è€æ°ã®ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ïŒããã°ã¬ãã·ãWebã¢ããªã±ãŒã·ã§ã³ãã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ãCLIãAPIãªã©ïŒã䜿çšã§ãããã¹ãŠã1ã€ã®ã³ã¢ã§å®è¡ãããŸãã
ãæ³åã®ãšãããäžè¬çãªå®è¡ãããŒã¯UIã®ã³ãŒãããã¢ããªã±ãŒã·ã§ã³ã³ã¢ãçµç±ããŠã€ã³ãã©ã¹ãã©ã¯ãã£ã³ãŒãã«é²ã¿ãã¢ããªã±ãŒã·ã§ã³ã³ã¢ã«æ»ããæåŸã«å¿çãUIã«é ä¿¡ãããŸãã
ããŒã«
æãéèŠãªã«ãŒãã«ã³ãŒããšã¯ã»ã©é ããã¢ããªã±ãŒã·ã§ã³ã䜿çšããããŒã«ã¯ãŸã ãããŸãã ããšãã°ãããŒã¿ããŒã¹ãšã³ãžã³ãæ€çŽ¢ãšã³ãžã³ãWebãµãŒããŒãCLIã³ã³ãœãŒã«ïŒåŸè 2ã€ã¯é ä¿¡ã¡ã«ããºã ã§ããããŸãïŒã
CLIã³ã³ãœãŒã«ãDBMSãšåãããŒãã»ã¯ã·ã§ã³ã«é 眮ããã®ã¯ãç®çãç°ãªããããå¥åŠã«æããŸãã ãããå®éã«ã¯ãäž¡æ¹ãšãã¢ããªã±ãŒã·ã§ã³ã§äœ¿çšãããããŒã«ã§ãã äž»ãªéãã¯ãCLIã³ã³ãœãŒã«ãšWebãµãŒããŒãã¢ããªã±ãŒã·ã§ã³ã«äœããè¡ãããã«æ瀺ããããšã§ã ãéã«ãDBMSã«ãŒãã«ã¯ã¢ããªã±ãŒã·ã§ã³ããã³ãã³ããåãåããŸã ã ããã¯ããããã®ããŒã«ãã¢ããªã±ãŒã·ã§ã³ã³ã¢ã«æ¥ç¶ããã³ãŒãã®èšè¿°æ¹æ³ã«å€§ãã圱é¿ãããããéåžžã«éèŠãªéãã§ãã
ããŒã«ãšé ä¿¡ã¡ã«ããºã ãã¢ããªã±ãŒã·ã§ã³ã³ã¢ã«æ¥ç¶ãã
ããŒã«ãã¢ããªã±ãŒã·ã§ã³ã³ã¢ã«æ¥ç¶ããã³ãŒãã®ãããã¯ã¯ãã¢ããã¿ãŒïŒ ããŒããšã¢ããã¿ãŒã¢ãŒããã¯ã㣠ïŒãšåŒã°ããŸãã ãããã¯ãããžãã¹ããžãã¯ãç¹å®ã®ããŒã«ãšçžäºäœçšããããšãå¯èœã«ãããã®éãå¯èœã§ãã
ã¢ããªã±ãŒã·ã§ã³ã«äœããè¡ãããã«æ瀺ããã¢ããã¿ãŒã¯ã ãã©ã€ããªãŒãŸãã¯å¶åŸ¡ã¢ããã¿ãŒãšåŒã°ããã¢ããªã±ãŒã·ã§ã³ãäœããè¡ãããã«æ瀺ããã¢ããã¿ãŒã¯ã ã»ã«ã³ããªãŒãŸãã¯ç®¡ç察象ã¢ããã¿ãŒãšåŒã°ããŸãã
ããŒã
ãã ãããããã®ã¢ããã¿ã¯å¶ç¶äœæããããã®ã§ã¯ãªããã¢ããªã±ãŒã·ã§ã³ã³ã¢ã®ç¹å®ã®ãšã³ããªãã€ã³ãportã«å¯Ÿå¿ããããã®ãã®ã§ã ã ããŒãã¯ãããŒã«ãã¢ããªã±ãŒã·ã§ã³ã³ã¢ã䜿çšããæ¹æ³ããŸãã¯ãã®éã®æ¹æ³ã®ä»æ§ã«ãããŸãã ã ã»ãšãã©ã®èšèªããã³æãåçŽãªåœ¢åŒã§ã¯ããã®ããŒãã¯ã€ã³ã¿ãŒãã§ãŒã¹ã«ãªããŸãããå®éã«ã¯ããã€ãã®ã€ã³ã¿ãŒãã§ãŒã¹ãšDTOã§æ§æã§ããŸãã
ããŒãïŒã€ã³ã¿ãŒãã§ãŒã¹ïŒã¯ããžãã¹ããžãã¯å ã«ãããã¢ããã¿ãŒã¯å€éšã«ããããšã«æ³šæããããšãéèŠã§ãã ãã®ãã³ãã¬ãŒããé©åã«æ©èœããããã«ã¯ãããŒã«APIãæš¡å£ããã ãã§ãªããã¢ããªã±ãŒã·ã§ã³ã³ã¢ã®ããŒãºã«å¿ããŠããŒããäœæããããšãéåžžã«éèŠã§ãã
ãã©ã€ããªãŸãã¯å¶åŸ¡ã¢ããã¿ãŒ
ãã©ã€ããªãŸãã¯å¶åŸ¡ã¢ããã¿ãŒã¯ããŒããã©ããããããã䜿çšããŠã¢ããªã±ãŒã·ã§ã³ã«ãŒãã«ã«äœãããããæ瀺ããŸãã ãããã¯ãé ä¿¡ã¡ã«ããºã ããã®ãã¹ãŠã®ããŒã¿ãã¢ããªã±ãŒã·ã§ã³ã³ã¢ã®ã¡ãœããåŒã³åºãã«å€æããŸãã
ã€ãŸããã³ã³ãããŒã«ã¢ããã¿ãŒã¯ã³ã³ãããŒã©ãŒãŸãã¯ã³ã³ãœãŒã«ã³ãã³ãã§ãããã³ã³ãããŒã©ãŒãŸãã¯ã³ã³ãœãŒã«ã³ãã³ããå¿ èŠãšããã€ã³ã¿ãŒãã§ã€ã¹ïŒããŒãïŒãå®è£ ããã¯ã©ã¹ãæã€ãªããžã§ã¯ããæã€ã³ã³ã¹ãã©ã¯ã¿ãŒã«åã蟌ãŸããŸãã
ããå ·äœçãªäŸã§ã¯ãããŒãã¯ãã³ã³ãããŒã©ãŒãå¿ èŠãšãããµãŒãã¹ã€ã³ã¿ãŒãã§ã€ã¹ãŸãã¯ãªããžããªã€ã³ã¿ãŒãã§ã€ã¹ã§ããå ŽåããããŸãã ãã®åŸããµãŒãã¹ããªããžããªããŸãã¯ãªã¯ãšã¹ãã®ç¹å®ã®å®è£ ãå®è£ ãããã³ã³ãããŒã©ãŒã§äœ¿çšãããŸãã
ããã«ãããŒãã¯ã³ãã³ããã¹ãŸãã¯ã¯ãšãªãã¹ã€ã³ã¿ãŒãã§ã€ã¹ã«ããããšãã§ããŸãã ãã®å Žåãã³ãã³ããŸãã¯èŠæ±ãã¹ã®ç¹å®ã®å®è£ ãã³ã³ãããŒã©ãŒã«å ¥åãããã³ã³ãããŒã©ãŒã¯ã³ãã³ããŸãã¯èŠæ±ãäœæããŠã察å¿ãããã¹ã«æž¡ããŸãã
ã»ã«ã³ããªãŸãã¯ãããŒãžã¢ããã¿ãŒ
ããŒããã©ããããã³ã³ãããŒã«ã¢ããã¿ãŒãšã¯ç°ãªãã ãããŒãžã¢ããã¿ãŒã¯ããŒããšã€ã³ã¿ãŒãã§ã€ã¹ãå®è£ ããããŒããå¿ èŠãªã¢ããªã±ãŒã·ã§ã³ã«ãŒãã«ã«å ¥ããŸãïŒã¿ã€ãä»ãïŒã
ããšãã°ãããŒã¿ãä¿åããå¿ èŠããããã€ãã£ãã¢ããªã±ãŒã·ã§ã³ããããŸãã ããŒã¿é åãä¿åããã¡ãœãããšãIDã«ãã£ãŠããŒãã«å ã®è¡ãåé€ããã¡ãœããã䜿çšããŠãæ°žç¶æ§ã€ã³ã¿ãŒãã§ã€ã¹ãäœæããŸãã ãã以éãã¢ããªã±ãŒã·ã§ã³ãããŒã¿ãä¿åãŸãã¯åé€ããå¿ èŠãããå Žåã¯ãã³ã³ã¹ãã©ã¯ã¿ãŒã§ãå®çŸ©ããæ°žç¶åã€ã³ã¿ãŒãã§ã€ã¹ãå®è£ ãããªããžã§ã¯ããå¿ èŠã«ãªããŸãã
次ã«ããã®ã€ã³ã¿ãŒãã§ã€ã¹ãå®è£ ããMySQLå°çšã®ã¢ããã¿ãŒãäœæããŸãã é åãä¿åããããŒãã«å ã®è¡ãåé€ããããã®ã¡ãœããããããæ°žç¶åã€ã³ã¿ãŒãã§ã€ã¹ãå¿ èŠãªå Žæã«ãããå°å ¥ããŸãã
ããæç¹ã§ããŒã¿ããŒã¹ãããã€ããŒããããšãã°PostgreSQLãMongoDBã«å€æŽããå ŽåãPostgreSQLã«åºæã®æ°žç¶æ§ã€ã³ã¿ãŒãã§ã€ã¹ãå®è£ ããæ°ããã¢ããã¿ãŒãäœæããå€ãã¢ããã¿ãŒã®ä»£ããã«æ°ããã¢ããã¿ãŒãå°å ¥ããã ãã§ãã
å転ãå¶åŸ¡ãã
ãã®ãã³ãã¬ãŒãã®ç¹åŸŽçãªæ©èœã¯ãã¢ããã¿ãŒãç¹å®ã®ããŒã«ãšç¹å®ã®ããŒãã«äŸåããããšã§ãïŒã€ã³ã¿ãŒãã§ãŒã¹ãå®è£ ããããšã«ããïŒã ãã ããããžãã¹ããžãã¯ã¯ãããžãã¹ããžãã¯ã®ããŒãºãæºããããã«èšèšãããããŒãïŒã€ã³ã¿ãŒãã§ã€ã¹ïŒã®ã¿ã«äŸåããç¹å®ã®ã¢ããã¿ãŒãããŒã«ã«äŸåããŸããã
ããã¯ãäŸåé¢ä¿ãäžå¿ã«åããããŠããããšãæå³ããŸã ã ã€ãŸããã¢ãŒããã¯ãã£ã¬ãã«ã§ã®å¶åŸ¡åçã®å転ããããŸã ã
ãã ãã ããŒã«APIãæš¡å£ããã ãã§ãªããã¢ããªã±ãŒã·ã§ã³ã³ã¢ã®ããŒãºã«å¿ããŠããŒããäœæããããšãäžå¯æ¬ ã§ã ã
ã¢ããªã±ãŒã·ã§ã³ã³ã¢ã®æ§æ
Onionã¢ãŒããã¯ãã£ã¯ãDDDã¬ã€ã€ãŒãéžæããããããããŒãããã³ã¢ããã¿ãŒã¢ãŒããã¯ãã£ã«çµã¿èŸŒã¿ãŸãã ãããã®ã¬ãã«ã¯ãããŒããšã¢ããã¿ãŒã®ãå è§åœ¢ãã®å éšã§ããããžãã¹ããžãã¯ã«äœããã®ç§©åºãããããããã«èšèšãããŠããŸãã åãšåæ§ã«ãäŸåé¢ä¿ã®æ¹åã¯äžå¿ã«åãã£ãŠããŸãã
ã¢ããªã±ãŒã·ã§ã³ã¬ãã«ïŒã¢ããªã±ãŒã·ã§ã³ã¬ãã«ïŒ
ãŠãŒã¹ã±ãŒã¹ã¯ã1ã€ä»¥äžã®ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã«ãã£ãŠã«ãŒãã«ã§å®è¡ã§ããããã»ã¹ã§ãã ããšãã°ãCMSã«ã¯ãéåžžã®ãŠãŒã¶ãŒçšã®1ã€ã®UIãCMS管çè çšã®å¥ã®ç¬ç«ããUIãå¥ã®CLIããã³Web APIããããŸãã ãããã®UIïŒã¢ããªã±ãŒã·ã§ã³ïŒã¯ãåºæãŸãã¯äžè¬çãªãŠãŒã¹ã±ãŒã¹ãããªã¬ãŒã§ããŸãã
ãŠãŒã¹ã±ãŒã¹ã¯ãã¢ããªã±ãŒã·ã§ã³ã¬ãã«ïŒDDDã®æåã®ã¬ãã«ãšOnionã¢ãŒããã¯ãã£ïŒã§å®çŸ©ãããŸãã
ãã®ã¬ã€ã€ãŒã«ã¯ãã¢ããªã±ãŒã·ã§ã³ãµãŒãã¹ïŒããã³ãã®ã€ã³ã¿ãŒãã§ã€ã¹ïŒããã¡ãŒã¹ãã¯ã©ã¹ãªããžã§ã¯ããšããŠå«ãŸããORMã€ã³ã¿ãŒãã§ã€ã¹ãæ€çŽ¢ãšã³ãžã³ã€ã³ã¿ãŒãã§ã€ã¹ãã¡ãã»ãŒãžã³ã°ã€ã³ã¿ãŒãã§ã€ã¹ãªã©ãå«ãããŒãããã³ã¢ããã¿ãŒïŒããŒãïŒãå«ãŸããŸãããã®ã¬ãã«ã§ã®ã³ãã³ããã¹ããã³/ãŸãã¯ãªã¯ãšã¹ããã¹ã¯ã察å¿ããã³ãã³ãããã³ãªã¯ãšã¹ããã³ãã©ã§ãã
ã¢ããªã±ãŒã·ã§ã³ãµãŒãã¹ãã³ãã³ããã³ãã©ã«ã¯ããŠãŒã¹ã±ãŒã¹ãããžãã¹ããã»ã¹ã®ãããã€ã¡ã³ãããžãã¯ãå«ãŸããŠããŸãã ååãšããŠããããã®åœ¹å²ã¯æ¬¡ã®ãšããã§ãã
- ãªããžããªã䜿çšããŠã1ã€ä»¥äžã®ãšã³ãã£ãã£ãæ€çŽ¢ããŸãã
- ãããã®ãšã³ãã£ãã£ã«ãã¡ã€ã³ããžãã¯ã®å®è¡ãäŸé ŒããŸãã
- ã¹ãã¬ãŒãžã䜿çšããŠãšã³ãã£ãã£ãåä¿åããããŒã¿ã®å€æŽãå¹æçã«ä¿åããŸãã
ã³ãã³ããã³ãã©ã¯ã次ã®2ã€ã®æ¹æ³ã§äœ¿çšã§ããŸãã
- ãŠãŒã¹ã±ãŒã¹ãå®è¡ããããã®ããžãã¯ãå«ããããšãã§ããŸãã
- ãããã¯ãã³ãã³ããåä¿¡ããã¢ããªã±ãŒã·ã§ã³ãµãŒãã¹ã«ååšããããžãã¯ãåçŽã«åŒã³åºããã¢ãŒããã¯ãã£ã®æ¥ç¶ã®åçŽãªéšåãšããŠäœ¿çšã§ããŸãã
ã©ã®ã¢ãããŒãã䜿çšãããã¯ãã³ã³ããã¹ãã«ãã£ãŠç°ãªããŸããããšãã°ã次ã®ãšããã§ãã
- ãã§ã«ã¢ããªã±ãŒã·ã§ã³ãµãŒãã¹ããããã³ãã³ããã¹ãè¿œå ãããŠããŸããïŒ
- ã³ãã³ããã¹ã§ã¯ãã¯ã©ã¹/ã¡ãœããããã³ãã©ãŒãšããŠæå®ã§ããŸããããŸãã¯æ¢åã®ã¯ã©ã¹ãŸãã¯ã€ã³ã¿ãŒãã§ãŒã¹ãæ¡åŒµãŸãã¯å®è£ ããå¿ èŠããããŸããïŒ
ãã®ã¬ã€ã€ãŒã«ã¯ããŠãŒã¹ã±ãŒã¹ã®çµæã§ããã¢ããªã±ãŒã·ã§ã³ã€ãã³ãã®éå§ãå«ãŸããŸãã ãããã®ã€ãã³ãã¯ãé»åã¡ãŒã«ã®éä¿¡ããµãŒãããŒãã£APIãžã®éç¥ãããã·ã¥éç¥ã®éä¿¡ãã¢ããªã±ãŒã·ã§ã³ã®å¥ã®ã³ã³ããŒãã³ãã«å±ããå¥ã®ãŠãŒã¹ã±ãŒã¹ã®èµ·åãªã©ããŠãŒã¹ã±ãŒã¹ã®å¯äœçšã§ããããžãã¯ãããªã¬ãŒããŸãã
ãã¡ã€ã³ã¬ãã«
ããã«å éšã«ã¯ãã¡ã€ã³ã¬ãã«ããããŸãã ãã®ã¬ãã«ã®ãªããžã§ã¯ãã«ã¯ããã®ããŒã¿ã管çããããã®ããŒã¿ãšããžãã¯ãå«ãŸããŠããŸãããããã¯ãã¡ã€ã³èªäœã«åºæã§ããããã®ããžãã¯ãããªã¬ãŒããããžãã¹ããã»ã¹ãšã¯ç¡é¢ä¿ã§ãã ãããã¯ç¬ç«ããŠãããã¢ããªã±ãŒã·ã§ã³ã¬ãã«ãå®å šã«èªèããŠããŸããã
ãã¡ã€ã³ãµãŒãã¹
åè¿°ããããã«ãã¢ããªã±ãŒã·ã§ã³ãµãŒãã¹ã®åœ¹å²ã¯æ¬¡ã®ãšããã§ãã
- ãªããžããªã䜿çšããŠã1ã€ä»¥äžã®ãšã³ãã£ãã£ãæ€çŽ¢ããŸãã
- ãããã®ãšã³ãã£ãã£ã«ãã¡ã€ã³ããžãã¯ã®å®è¡ãäŸé ŒããŸãã
- ã¹ãã¬ãŒãžã䜿çšããŠãšã³ãã£ãã£ãåä¿åããããŒã¿ã®å€æŽãå¹æçã«ä¿åããŸãã
ããããåããŸãã¯ç°ãªãã¿ã€ãã®ããŸããŸãªãšã³ãã£ãã£ãå«ãããã€ãã®ãã¡ã€ã³ããžãã¯ã«åºãããããšããããŸãããã®ãã¡ã€ã³ããžãã¯ã¯ãšã³ãã£ãã£èªäœã«ã¯å±ããŸãããã€ãŸããããžãã¯ã¯çŽæ¥çãªè²¬ä»»ã§ã¯ãããŸããã
ãããã£ãŠãæåã®åå¿ã¯ãã¢ããªã±ãŒã·ã§ã³ãµãŒãã¹ã®ãšã³ãã£ãã£ã®å€éšã«ãã®ããžãã¯ãé 眮ããããšã§ãã ãã ããããã¯ãä»ã®å Žåã«ã¯ãã¡ã€ã³ããžãã¯ãåå©çšãããªãããšãæå³ããŸãããã¡ã€ã³ããžãã¯ã¯ã¢ããªã±ãŒã·ã§ã³ã¬ãã«ã®å€åŽã«çãŸãå¿ èŠããããŸãã
解決çã¯ããã¡ã€ã³ãµãŒãã¹ãäœæããããšã§ãããã®åœ¹å²ã¯ãäžé£ã®ãšã³ãã£ãã£ãååŸãããããã«å¯ŸããŠããã€ãã®ããžãã¹ããžãã¯ãå®è¡ããããšã§ãã ãã¡ã€ã³ãµãŒãã¹ã¯ãã¡ã€ã³ã¬ãã«ã«å±ããŠãããããã¢ããªã±ãŒã·ã§ã³ãµãŒãã¹ããªããžããªãªã©ãã¢ããªã±ãŒã·ã§ã³ã¬ãã«ã®ã¯ã©ã¹ã«ã€ããŠã¯äœãç¥ããŸããã äžæ¹ãä»ã®ãã¡ã€ã³ãµãŒãã¹ãšããã¡ãããã¡ã€ã³ã¢ãã«ãªããžã§ã¯ãã䜿çšã§ããŸãã
ãã¡ã€ã³ã¢ãã«
ãŸãã«ãã®äžå¿ã«ããã®ããã¡ã€ã³ã¢ãã«ã§ãã ãã®åã®å€åŽã«ã¯äŸåããããã¡ã€ã³å ã®äœããè¡šãããžãã¹ãªããžã§ã¯ããå«ãŸããŠããŸãã ãã®ãããªãªããžã§ã¯ãã®äŸã¯ããŸãããšã³ãã£ãã£ãå€ãªããžã§ã¯ããåæãããã³ãã¡ã€ã³ã¢ãã«ã§äœ¿çšããããªããžã§ã¯ãã§ãã
ãã¡ã€ã³ã€ãã³ãã¯ããã¡ã€ã³ã¢ãã«ã«ãååšããŸãã ç¹å®ã®ããŒã¿ã»ãããå€æŽããããšããããã®ã€ãã³ããããªã¬ãŒãããå€æŽãããããããã£ã®æ°ããå€ãå«ãŸããŸãã ãããã®ã€ãã³ãã¯ãããšãã°ãã€ãã³ããœãŒã·ã³ã°ã¢ãžã¥ãŒã«ã§ã®äœ¿çšã«æé©ã§ãã
ã³ã³ããŒãã³ã
ãããŸã§ã®ãšãããã¬ã€ã€ãŒã§ã³ãŒããåé¢ããŸããããããã¯ããŸãã«ã詳现ãªã³ãŒãåé¢ã§ãã åæ§ã«ãããäžè¬çãªå€èŠ³ã§åçãèŠãããšãéèŠã§ãã ç§ãã¡ã¯ããããŒãã»ããŒãã£ã³ãå«ã¶ã¢ãŒããã¯ãã£ã§è¡šçŸãããã¢ã€ãã¢ã«åŸã£ãŠãã³ãŒãããµããã¡ã€ã³ãšé¢é£ã³ã³ããã¹ãã«åå²ããããšã«ã€ããŠè©±ããŠãã[ã€ãŸããã¢ãŒããã¯ãã£ã¯ã䜿çšãããã¬ãŒã ã¯ãŒã¯ã«ã€ããŠã§ã¯ãªããã¢ããªã±ãŒã·ã§ã³èªäœã«ã€ããŠãå«ã¶ãã¹ãã§ãã ãã©ã³ã¹ã]ã ã¬ã€ã€ãŒã§ã¯ãªããæ©èœãŸãã¯ã³ã³ããŒãã³ãããšã«ããã±ãŒãžãæŽçããããšã«ã€ããŠè©±ããŸããSimonBrownã¯ãããã°ã®èšäºãã³ã³ããŒãã³ãããã±ãŒãžãšã¢ãŒããã¯ãã£ã®ãã¹ããã§ãããéåžžã«ãã説æããŠããŸã ã
ç§ã¯ã³ã³ããŒãã³ãããã±ãŒãžãæŽçããããšãæ¯æããŠãããSimon Brownã®å³ã次ã®ããã«æ¥ç¥ããã«å€æŽããããšèããŠããŸãã
ã³ãŒãã®ãããã®ã»ã¯ã·ã§ã³ã¯ãåè¿°ã®ãã¹ãŠã®ã¬ã€ã€ãŒã暪æãããã®ã§ããããããã¯ã¢ããªã±ãŒã·ã§ã³ã®ã³ã³ããŒãã³ãã§ãã ã³ã³ããŒãã³ãã®äŸã¯ãè«æ±ããŠãŒã¶ãŒã確èªããŸãã¯ã¢ã«ãŠã³ãã§ããããããã¯åžžã«ãã¡ã€ã³ã«é¢é£ä»ããããŠããŸãã èš±å¯ãèªèšŒãªã©ã®å¶éãããã³ã³ããã¹ãã¯ãã¢ããã¿ãŒãäœæããŠããŒãã®åŸãã«é ãå€éšããŒã«ãšèŠãªãããå¿ èŠããããŸãã
ã³ã³ããŒãã³ãã®åæ
现ããã³ãŒãåäœïŒã¯ã©ã¹ãã€ã³ã¿ãŒãã§ã€ã¹ãç¹æ§ãããã¯ã¹ã€ã³ãªã©ïŒã®å Žåãšåæ§ã«ã倧ããªåäœïŒã³ã³ããŒãã³ãïŒã¯åŒ±ãçµåãšç·å¯ãªæ¥ç¶ã®æ©æµãåããŸãã
ã¯ã©ã¹ãåé¢ããã«ã¯ãã¯ã©ã¹å ã§äŸåé¢ä¿ãäœæããã®ã§ã¯ãªããã¯ã©ã¹ã«äŸåé¢ä¿ãå°å ¥ããç¹å®ã®ã¯ã©ã¹ã®ä»£ããã«æœè±¡åïŒã€ã³ã¿ãŒãã§ã€ã¹ããã³/ãŸãã¯æœè±¡ã¯ã©ã¹ïŒã«äŸåããããã«äŸåé¢ä¿ãå転ãããŸãã ããã¯ãäŸåã¯ã©ã¹ã䜿çšããç¹å®ã®ã¯ã©ã¹ã«ã€ããŠäœãç¥ãããäŸåããã¯ã©ã¹ã®ãã«ããŒã ãžã®åç §ãæããªãããšãæå³ããŸãã
åæ§ã«ãå®å šã«åæãããã³ã³ããŒãã³ãã§ã¯ãåã³ã³ããŒãã³ãã¯ä»ã®ã³ã³ããŒãã³ãã«ã€ããŠäœãç¥ããŸããã èšãæãããšãä»ã®ã³ã³ããŒãã³ãããã®çŽ°ããªã³ãŒããããã¯ãããã«ã¯ã€ã³ã¿ãŒãã§ã€ã¹ãžã®ãªã³ã¯ã¯ãããŸããïŒ ããã¯ãäŸåé¢ä¿ã®æ³šå ¥ãšäŸåé¢ä¿ã®å転ã ãã§ã¯ã³ã³ããŒãã³ããåé¢ããã®ã«ååã§ã¯ãªãããšãæå³ããäœããã®ã¢ãŒããã¯ãã£ã®æ§ç¯ãå¿ èŠã«ãªããŸãã ã€ãã³ããå ±éã³ã¢ãçµææŽåæ§ãããã«ã¯ãã£ã¹ã«ããªãŒãµãŒãã¹ãå¿ èŠã«ãªãå ŽåããããŸãã
ä»ã®ã³ã³ããŒãã³ãã®ããªã¬ãŒããžãã¯
ã³ã³ããŒãã³ãïŒã³ã³ããŒãã³ãBïŒã®1ã€ãå¥ã®ã³ã³ããŒãã³ãïŒã³ã³ããŒãã³ãAïŒã§äœãä»ã®ããšãèµ·ãããã³ã«äœããããå¿ èŠãããå Žåãã³ã³ããŒãã³ãAããã³ã³ããŒãã³ãBã®ã¯ã©ã¹/ã¡ãœãããžã®çŽæ¥åŒã³åºããè¡ãããšã¯ã§ããŸããããã®åŸãAã¯Bã«é¢é£ä»ããããŸãã
ãã ããã€ãã³ããããŒãžã£ãŒã䜿çšããŠã¢ããªã±ãŒã·ã§ã³ã€ãã³ãããã£ã¹ãããã§ããŸããã¢ããªã±ãŒã·ã§ã³ã€ãã³ãã¯ãBãå«ãããããªãã¹ã³ãããã¹ãŠã®ã³ã³ããŒãã³ãã«é ä¿¡ãããBã®ã€ãã³ããªã¹ããŒãç®çã®ã¢ã¯ã·ã§ã³ãããªã¬ãŒããŸãã ã€ãŸããã³ã³ããŒãã³ãAã¯ã€ãã³ããããŒãžã£ãŒã«äŸåããŸãããã³ã³ããŒãã³ãBãšã¯å¥ã®ãã®ã«ãªããŸãã
ããã§ããã€ãã³ãèªäœãAã§ãçããŠãããå Žåãããã¯BãAã®ååšãèªèããããã«é¢é£ä»ããããŠããããšãæå³ããŸãã ãã®äŸåé¢ä¿ãåé€ããããã«ããã¹ãŠã®ã³ã³ããŒãã³ãã§å ±æãããã¢ããªã±ãŒã·ã§ã³ã³ã¢ã®æ©èœã»ããïŒ å ±éã³ã¢ïŒãåããã©ã€ãã©ãªãäœæã§ããŸãã ããã¯ãäž¡æ¹ã®ã³ã³ããŒãã³ããå ±éã®ã³ã¢ã«äŸåããããäºãã«åé¢ãããããšãæå³ããŸãã å ±éã®ã³ã¢ã«ã¯ãã¢ããªã±ãŒã·ã§ã³ã€ãã³ãããã¡ã€ã³ã€ãã³ããªã©ã®æ©èœãå«ãŸããŠããŸãããä»æ§ãªããžã§ã¯ããå ±æããæå³ã®ãããã®ãå«ããããšãã§ããŸãã åæã«ãå ±éã«ãŒãã«ã®å€æŽã¯ãã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ã³ã³ããŒãã³ãã«åœ±é¿ãããããæå°ãµã€ãºã«ããå¿ èŠããããŸãã ããã«ãå€èšèªã·ã¹ãã ãããšãã°ç°ãªãèšèªã®ãã€ã¯ããµãŒãã¹ã®ãšã³ã·ã¹ãã ãããå Žåããã¹ãŠã®ã³ã³ããŒãã³ããç解ã§ããããã«ãå ±éã®ã³ã¢ã¯èšèªã«äŸåããã¹ãã§ã¯ãããŸããã ããšãã°ãã€ãã³ãã¯ã©ã¹ãæã€äžè¬çãªã«ãŒãã«ã®ä»£ããã«ããã¹ãŠã®ã³ã³ããŒãã³ã/ãã€ã¯ããµãŒãã¹ãããã解éã§ããããã«ãJSONã®ãããªæ±çšèšèªã§ã€ãã³ãã®èª¬æïŒã€ãŸããååãããããã£ãããããã¡ãœããã§ããããä»æ§ãªããžã§ã¯ãã§ã¯ãã䟿å©ã§ããïŒãå«ãŸããŸããããããç¬èªã®å®è£ ãèªåçã«çæããããšããããŸãã
ãã®ã¢ãããŒãã¯ããã€ã¯ããµãŒãã¹ãšã³ã·ã¹ãã ãªã©ã®ã¢ããªã·ãã¯ã¢ããªã±ãŒã·ã§ã³ãšåæ£ã¢ããªã±ãŒã·ã§ã³ã®äž¡æ¹ã§æ©èœããŸãã ãã ããã€ãã³ããéåæã§ã®ã¿é ä¿¡ã§ããå Žåããã®ã¢ãããŒãã¯ãä»ã®ã³ã³ããŒãã³ãã®ããªã¬ãŒããžãã¯ãããã«åäœããã³ã³ããã¹ãã§ã¯äžååã§ãïŒ ããã§ãã³ã³ããŒãã³ãAã¯ã³ã³ããŒãã³ãBã«çŽæ¥HTTPåŒã³åºããè¡ãå¿ èŠããããŸãããã®å Žåãã³ã³ããŒãã³ããåæããã«ã¯ããã£ã¹ã«ããªãµãŒãã¹ãå¿ èŠã§ãã ã³ã³ããŒãã³ãAã¯ãåžæããã¢ã¯ã·ã§ã³ãéå§ããããã®ãªã¯ãšã¹ãã®éä¿¡å ã圌女ã«å°ããŸãã ãŸãã¯ããã£ã¹ã«ããªãµãŒãã¹ã«èŠæ±ãè¡ããŸãããã£ã¹ã«ããªãµãŒãã¹ã¯ããããé©åãªãµãŒãã¹ã«è»¢éããæçµçã«èŠæ±è ã«å¿çãè¿ããŸãã ãã®ã¢ãããŒãã§ã¯ãã³ã³ããŒãã³ãããã£ã¹ã«ããªãµãŒãã¹ã«é¢é£ä»ããŸãããã³ã³ããŒãã³ããçžäºã«é¢é£ä»ããŸããã
ä»ã®ã³ã³ããŒãã³ãããããŒã¿ãååŸãã
ã芧ã®ãšãããã³ã³ããŒãã³ãã¯ãææãããŠããªãããŒã¿ãå€æŽããããšã¯ã§ããŸããããããŒã¿ãèŠæ±ããŠäœ¿çšããããšã¯ã§ããŸãã
ã³ã³ããŒãã³ãã®å ±æããŒã¿ã¹ãã¬ãŒãž
ã³ã³ããŒãã³ããå¥ã®ã³ã³ããŒãã³ãã«å±ããããŒã¿ã䜿çšããå¿ èŠãããå ŽåïŒããšãã°ã課éã³ã³ããŒãã³ããã¢ã«ãŠã³ãã³ã³ããŒãã³ãã«å±ããã¯ã©ã€ã¢ã³ãã®ååã䜿çšããå¿ èŠãããå ŽåïŒãããŒã¿ã¹ãã¬ãŒãžãžã®ãªã¯ãšã¹ããªããžã§ã¯ããå«ãŸããŸãã ã€ãŸãã課éã³ã³ããŒãã³ãã¯ä»»æã®ããŒã¿ã»ãããèªèã§ããŸãããä»ã®åœããã®èªã¿åãå°çšããŒã¿ã䜿çšããå¿ èŠããããŸãã
ã³ã³ããŒãã³ãã®åå¥ã®ããŒã¿ã¹ãã¬ãŒãž
ãã®å Žåãåããã³ãã¬ãŒããé©çšãããŸãããããŒã¿ã¹ãã¬ãŒãžã¬ãã«ã¯ããè€éã«ãªããŸãã ç¬èªã®ããŒã¿ãŠã§ã¢ããŠã¹ãåããã³ã³ããŒãã³ããååšãããšããããšã¯ãåããŒã¿ãŠã§ã¢ããŠã¹ã«ä»¥äžãå«ãŸããããšãæå³ããŸãã
- ã³ã³ããŒãã³ããææããå€æŽã§ããããŒã¿ã®ã»ããããããå¯äžã®çå®ã®ãœãŒã¹ã«ãªããŸãã
- ç¬èªã«å€æŽããããšã¯ã§ããŸããããã³ã³ããŒãã³ãã®æ©èœã«å¿ èŠãªä»ã®ã³ã³ããŒãã³ãã®ããŒã¿ã®ã³ããŒã§ããããŒã¿ã»ããã ãã®ããŒã¿ã¯ãææè ã³ã³ããŒãã³ãã§å€æŽããããã³ã«æŽæ°ããå¿ èŠããããŸãã
åã³ã³ããŒãã³ãã¯ãä»ã®ã³ã³ããŒãã³ãããå¿ èŠãªããŒã¿ã®ããŒã«ã«ã³ããŒãäœæããå¿ èŠã«å¿ããŠäœ¿çšããŸãã æå±ããã³ã³ããŒãã³ãã§ããŒã¿ãå€æŽããããšããã®ææè ã³ã³ããŒãã³ãã¯ãããŒã¿ã®å€æŽãäŒéãããã¡ã€ã³ã€ãã³ããããªã¬ãŒããŸãã ãã®ããŒã¿ã®ã³ããŒãå«ãã³ã³ããŒãã³ãã¯ããã®ãã¡ã€ã³ã€ãã³ãããªãã¹ã³ããããã«å¿ããŠããŒã«ã«ã³ããŒãæŽæ°ããŸãã
å¶åŸ¡ãããŒ
äžã§è¿°ã¹ãããã«ãå¶åŸ¡ãããŒã¯ãŠãŒã¶ãŒããã¢ããªã±ãŒã·ã§ã³ã³ã¢ãã€ã³ãã©ã¹ãã©ã¯ãã£ããŒã«ããããŠåã³ã¢ããªã±ãŒã·ã§ã³ã³ã¢ããããŠãŠãŒã¶ãŒã«æ»ããŸãã ããããã¯ã©ã¹ã¯ã©ã®ããã«é£æºããŸããïŒ èª°ã誰ã«äŸåããŠããŸããïŒ ããããã©ã®ããã«æ§æããŸããïŒ
ããããããã®ããã«ãã¯ãªãŒã³ã¢ãŒããã¯ãã£ã«é¢ããç§ã®èšäºã§ã¯ãUMLishã¹ããŒã管çã®æµãã説æããããšããŸã...
ã³ãã³ã/ãªã¯ãšã¹ããã¹ãªã
ã³ãã³ããã¹ã䜿çšããªãå Žåãã³ã³ãããŒã©ãŒã¯ã¢ããªã±ãŒã·ã§ã³ãµãŒãã¹ãŸãã¯ã¯ãšãªãªããžã§ã¯ãã«äŸåããŸãã
[2017/11/18è¿œè£]ãªã¯ãšã¹ãããããŒã¿ãè¿ãããã«äœ¿çšããDTOãå®å šã«èŠèœãšããŠãããããããã§è¿œå ããŸããã MorphineAdministeredã«æè¬ããŸããããã¯ã¹ããŒã¹ã瀺ããŠããŸãã
äžã®å³ã§ã¯ãã¢ããªã±ãŒã·ã§ã³ãµãŒãã¹ã®ã€ã³ã¿ãŒãã§ã€ã¹ã䜿çšããŠããŸãããã¢ããªã±ãŒã·ã§ã³ãµãŒãã¹ã¯ã¢ããªã±ãŒã·ã§ã³ã³ãŒãã®äžéšã§ãããããå®éã«ã¯å¿ èŠã§ã¯ãªããšèšããŸãã ãã ããå®å šãªãªãã¡ã¯ã¿ãªã³ã°ãè¡ãããšã¯ã§ããŸãããå®è£ ãå€æŽããããšã¯æã¿ãŸããã
Queryãªããžã§ã¯ãã«ã¯ããŠãŒã¶ãŒã«è¡šç€ºãããçããŒã¿ãè¿ãã ãã®æé©åãããã¯ãšãªãå«ãŸããŠããŸãã ãã®ããŒã¿ã¯ãViewModelã«çµã¿èŸŒãŸããŠããDTOã«è¿ãããŸãã ãã®ViewModelã«ã¯ãäœããã®çš®é¡ã®ãã¥ãŒããžãã¯ãå«ãŸããŠããå Žåãããããã¥ãŒã®äœæã«äœ¿çšãããŸãã
äžæ¹ãã¢ããªã±ãŒã·ã§ã³ãµãŒãã¹ã«ã¯ãããŒã¿ã衚瀺ããã ãã§ãªããã·ã¹ãã äžã§äœããå®è¡ããããšãã«èµ·åãããŠãŒã¹ã±ãŒã¹ããžãã¯ãå«ãŸããŠããŸãã ã¢ããªã±ãŒã·ã§ã³ãµãŒãã¹ã¯ãéå§ããå¿ èŠã®ããããžãã¯ãå«ããšã³ãã£ãã£ãè¿ããªããžããªã«äŸåããŸãã ãŸããè€æ°ã®ãšã³ãã£ãã£éã§ãã¡ã€ã³ããã»ã¹ã調æŽããããã«ãã¡ã€ã³ãµãŒãã¹ã«äŸåããå ŽåããããŸãããããã¯ãŸããªã±ãŒã¹ã§ãã
ãŠãŒã¹ã±ãŒã¹ã®è§£æåŸãã¢ããªã±ãŒã·ã§ã³ãµãŒãã¹ã¯ããŠãŒã¹ã±ãŒã¹ãçºçããããšãã·ã¹ãã å šäœã«éç¥ã§ããŸãããã®åŸãã€ãã³ããããªã¬ãŒããã®ã¯ã€ãã³ããã£ã¹ãããã£ãŒã«äŸåããŸãã
æç¶æ§ãšã³ãžã³ãšãªããžããªã®äž¡æ¹ã§ã€ã³ã¿ãŒãã§ãŒã¹ããã¹ãããŠããããšã«æ³šæããã®ã¯èå³æ·±ãããšã§ãã ããã¯åé·ã«èŠãããããããŸãããããããã¯ç°ãªãç®çãæãããŸãïŒ
- Persistenceã€ã³ã¿ãŒãã§ãŒã¹ã¯ORMã®æœè±¡åã¬ã€ã€ãŒã§ãããããã¢ããªã±ãŒã·ã§ã³ã³ã¢ãå€æŽããã«ORMã亀æã§ããŸãã
- ãªããžããªã€ã³ã¿ãŒãã§ã€ã¹ã¯ãæ°žç¶åãšã³ãžã³èªäœã®æœè±¡åã§ãã MySQLããMongoDBã«åãæ¿ããããšããŸãã ãã®å Žåãæ°žç¶æ§ã€ã³ã¿ãŒãã§ã€ã¹ã¯åããŸãŸã§ããå¯ââèœæ§ããããåãORMãåŒãç¶ã䜿çšãããå Žåãæ°žç¶æ§ã¢ããã¿ãåããŸãŸã§ãã ãã ããã¯ãšãªèšèªã¯ãŸã£ããç°ãªããããåãä¿åã¡ã«ããºã ã䜿çšããæ°ãããªããžããªãäœæããåããªããžããªã€ã³ã¿ãŒãã§ã€ã¹ãå®è£ ããSQLã®ä»£ããã«MongoDBã¯ãšãªèšèªã䜿çšããŠã¯ãšãªãäœæã§ããŸãã
ã³ãã³ã/ãªã¯ãšã¹ããã¹ä»ã
ã¢ããªã±ãŒã·ã§ã³ãã³ãã³ã/ãªã¯ãšã¹ããã¹ã䜿çšããŠããå Žåãã³ã³ãããŒã©ãŒã¯ã³ãã³ãããªã¯ãšã¹ãã ãã§ãªããã¹ã«ãäŸåããããšãé€ããŠãå³ã¯ã»ãŒåããŸãŸã§ãã ããã§ãã³ãã³ããŸãã¯ãªã¯ãšã¹ãã®ã€ã³ã¹ã¿ã³ã¹ãäœæããããã¹ã«æž¡ãããŸãããã¹ã¯ãã³ãã³ããåä¿¡ããã³åŠçããããã®é©åãªãã³ãã©ãŒãèŠã€ããŸãã
次ã®å³ã§ã¯ãã³ãã³ããã³ãã©ãŒã¯ã¢ããªã±ãŒã·ã§ã³ãµãŒãã¹ã䜿çšããŠããŸãã ãã ããã»ãšãã©ã®å Žåããã³ãã©ãŒã«ã¯ãŠãŒã¹ã±ãŒã¹ã®ãã¹ãŠã®ããžãã¯ãå«ãŸãããããããã¯å¿ ãããå¿ èŠã§ã¯ãããŸããã å¥ã®ãã³ãã©ãŒã§åãããžãã¯ãåå©çšããå¿ èŠãããå Žåã¯ããã³ãã©ãŒããããžãã¯ãå¥ã®ã¢ããªã±ãŒã·ã§ã³ãµãŒãã¹ã«æœåºããã ãã§ãã
[2017/11/18è¿œè£]ãªã¯ãšã¹ãããããŒã¿ãè¿ãããã«äœ¿çšããDTOãå®å šã«èŠèœãšããŠãããããããã§è¿œå ããŸããã MorphineAdministeredã«æè¬ããŸããããã¯ã¹ããŒã¹ã瀺ããŠããŸãã
ãã¹ãã³ãã³ãããªã¯ãšã¹ãããã³ãã©ãŒã®éã«äŸåé¢ä¿ããªãããšã«æ°ã¥ãããããããŸããã äºå®ã圌ãã¯é©åãªåé¢ã確ä¿ããããã«ãäºãã«ã€ããŠç¥ãå¿ èŠã¯ãããŸããã ã³ãã³ããŸãã¯ãªã¯ãšã¹ããåŠçããããã®ç¹å®ã®ãã³ãã©ãŒã«ãã¹ãèªå°ããæ¹æ³ã¯ãåçŽãªæ§æã§æ§æãããŸãã
ã©ã¡ãã®å Žåãããã¹ãŠã®ç¢å°ïŒã¢ããªã±ãŒã·ã§ã³ã«ãŒãã«ã®å¢çãè¶ããäŸåé¢ä¿ïŒã¯å åŽãæããŸãã åã«èª¬æããããã«ãããã¯PortsïŒAdaptersã¢ãŒããã¯ãã£ãOnionã¢ãŒããã¯ãã£ãããã³Cleanã¢ãŒããã¯ãã£ã®åºæ¬çãªã«ãŒã«ã§ãã
ãããã«
ãã€ãã®ããã«ãç®æšã¯ãæ¥ç¶æ§ã®é«ãåæãããã³ãŒãããŒã¹ãååŸããããšã§ãããã®å Žåãå€æŽãç°¡åãè¿ éãå®å šã«è¡ãããšãã§ããŸãã
èšç»ã¯ç¡æå³ã§ãããèšç»ããã¹ãŠã§ãã - ã¢ã€ãŒã³ãã¯ãŒ
ãã®ã€ã³ãã©ã°ã©ãã£ãã¯ã¯ã³ã³ã»ãããããã§ãã ãããã®æŠå¿µããã¹ãŠç解ããŠç解ããããšã¯ãå¥å šãªã¢ãŒããã¯ãã£ãšå®è¡å¯èœãªã¢ããªã±ãŒã·ã§ã³ãèšç»ããã®ã«åœ¹ç«ã¡ãŸãã
ãã ãïŒ
å°å³ã¯é åã§ã¯ãããŸããã - ã¢ã«ãã¬ããã»ã³ã«ãžãã¹ããŒ
èšãæããã°ã ãããã¯åãªãæšå¥šäºé ã§ãïŒ ã¢ããªã±ãŒã·ã§ã³ã¯ãç§ãã¡ã®ç¥èãé©çšããå¿ èŠãããé åãçŸå®ãç¹å®ã®ãŠãŒã¹ã±ãŒã¹ã§ãããå®éã®ã¢ãŒããã¯ãã£ãã©ã®ããã«èŠãããã決å®ããŸãïŒ
ããããã¹ãŠã®ãã¿ãŒã³ãç解ããå¿ èŠããããŸãããã¢ããªã±ãŒã·ã§ã³ãæ£ç¢ºã«å¿ èŠãšãããã®ãåé¢ãšæ¥ç¶æ§ã®ããã«ã©ããŸã§è¡ããããåžžã«èããŠç解ããå¿ èŠããããŸãã ãã®æ±ºå®ã¯ããããžã§ã¯ãã®æ©èœèŠä»¶ãããã¢ããªã±ãŒã·ã§ã³éçºã®ã¿ã€ãã³ã°ããã®èçšå¹Žæ°ãéçºããŒã ã®çµéšãªã©ãå€ãã®èŠå ã«äŸåããŸãã
ããããç§èªèº«ããã®ãã¹ãŠãæ³åããæ¹æ³ã§ãã
ãããã®ã¢ã€ãã¢ã«ã€ããŠã¯ã次ã®èšäºã§è©³ãã説æããŸãã ãåå¿åç¶ã®ã¬ã€ã€ãŒä»¥äžã®ãã® ã ã