You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
[Video] http://www.youtube.com/watch?v=s1dhXamEAKQ Tildã®Yehuda Katzã®Golden Gate Ruby Conference 2013ã§ã®è¬æ¼ã Ruby on Railsã®ã¯ãªã¨ã¼ã¿ã¼ã§ããDavid Heinemeier HanssonãããJavaScriptå¢ã¯ããã«MVCã§è¦ããã§ããããµã¼ãã¨ã¯ã©ã¤ã¢ã³ã両æ¹ã«MVCãå¿ è¦ã§è¤éãããããã¨Twitterã§çºè¨ããã®ã«å¯¾ãã¦ãYehudaã¯ãããã§ã¯èª¤è§£ãä¸ããã¨å±æ§ããGUIããã°ã©ãã³ã°ãæ´å²çã«ã©ã®ããã«MVCã«çºå±ãã¦ããããç´¹ä»ãããã¨ã§ãããã«MVCãæ¬å½ã«æå³ããã¨ããã解説ãã¦ãã¾ãã DHHã®çºè¨ã¯ãçãä¸ãã£ã¦ããMeteor / Node.jså¢ã«å¯¾ããåãªãæ¹å¤ã£ã½ãã§ãããããã«å¯¾ãã¦Yehudaã¯ãã¸ã«ã«ã«è©±ãã¾ã¨ãã¦ã¾ãã ã¹ã©ã¤ãã
Stack Overflowã®TDD Anti-patterns catalogueã¨ããã¹ã¬ãã¨ã¦ãé¢ç½ãã£ãã®ã§è¨³ãã¦ã¿ãã Stack Overflowã®votingæ©è½ã§ã¢ã³ããã¿ã¼ã³ã¸ã®æ票ãè¡ã£ã¦ããæãã ä¸ããæ票ã®å¤ãé ã«ãªã£ã¦ããã å¾ç¥¨æ°ã¯ãã®è¨äºå·çæç¹(2013.7.9)ã®ãã®ã SQLã¢ã³ããã¿ã¼ã³ã£ã½ãããã¿ã¼ã³åã¯ãã®ã¾ã¾çä»®åã«ãã¦ã¿ãã ã¾ããå 容ãããªã被ã£ã¦ããã¨ããç¶æ³ãããªãã¬ã¢ãããªããã¨æããã®ã¯ãä¸é¨çç¥ãã¾ããã (ãã³ã¡ã§è¨³ééã£ã¦ãããã£ã¦æãã¦ããã£ãã®ã§ãä¸é¨ä¿®æ£ãã¾ãã 2013.7.10) ããªã¼ã©ã¤ã (ãã¹ãã®ãã ä¹ã) 50pt æ°ãããã¹ãã±ã¼ã¹ãæ¸ãã®ã§ã¯ãªããä»ã®æ©è½ã®ãã¹ãã«æ°ããã¢ãµã¼ã·ã§ã³ã追å ãã¦æ¢åã®ãã¹ãã±ã¼ã¹ã«ä¹ã£ããã ã»ã«ã³ãã¯ã©ã¹ ã·ãã£ãºã³ (äºçå¸æ°) 47pt ãããã¯ã·ã§ã³ã³ã¼ãã®ããã«
Webã¢ããªã±ã¼ã·ã§ã³ã«ã¤ãã¦ãRESTfulãªURLã»ãªã½ã¼ã¹è¨è¨ã®ãã¿ã¼ã³ãè¦åºããã¨ã§ã ã©ã®ãã¿ã¼ã³ããå¤æããã ãã§ãæ¢åã® Good Practice ãé©ç¨ã§ãã ååãã¤ãã¦å¼ã¹ãããã«ããã Railsãªã©ã®ãã¬ã¼ã ã¯ã¼ã¯ã§ç°¡åã«é©ç¨ã§ããããã«ããã ã¨ãããã¨ãç®æãã¦ãã¾ãã ã»ãã¨ãã«å½¹ç«ã¤ã ããã¯ãã¿ã¼ã³ã¨è¨ããã®ã ãã£ã¨ä»ã«ããã ã ãã¶ç²åº¦ããã©ãã© ååã®ä»ãæ¹ï¼ãã¿ã¼ã³ã¯ååéè¦ï¼ ãªã©ããã²ãæè¦ããã ããã ãã¿ã¼ã³ Collection & Member Resource ãã¿ã¼ã³ Singular (Singleton) Resource ãã¿ã¼ã³ Filtered Collection ãã¿ã¼ã³ Filtered Subresource ãã¿ã¼ã³ Multi-member Resource ãã¿ã¼ã³ Partial Resource ãã¿ã¼
以ä¸ã®æç« ã¯ãMartin Fowler ã®ãInversion of Control Containers and the Dependency Injection patternããããããã«ã翻訳ãããã®ã§ããåèè ã®è¨±å¯ãå¾ã¦ç¿»è¨³ã»å ¬éãã¦ãã¾ãã 翻訳ã«ããã£ã¦ã¯ãkdmsnr ããã«ãååãããã ãã¾ããããããã¨ããããã¾ããå ¬éå¾ã®æ¹è¨å±¥æ´ãè¨äºã®æå¾ã«è¨è¿°ãã¦ãã¾ãã Java ã³ãã¥ããã£ã§ã¯è»½éã³ã³ãããè±çãã§ããã 軽éã³ã³ããã¯ãç°ãªãããã¸ã§ã¯ãã®ã³ã³ãã¼ãã³ããã²ã¨ã¾ã¨ã¾ãã®ã¢ããªã±ã¼ã·ã§ã³ã¨ãã¦çµã¿ç«ã¦ããã¨ãæ¯æ´ããã ãã®ãããªã³ã³ããã®æ ¹åºã«ã¯ãã³ã³ãã¼ãã³ãã®çµã³ä»ãæ¹ã«ã¤ãã¦ã®å ±éãããã¿ã¼ã³ãããã ãã®ãã¿ã¼ã³ã®ã³ã³ã»ããã¯ãInversion of Control(å¶å¾¡ã®å転)ãã¨ãã¾ãã¨ã«å æ¬çãªååã§å¼ã°ãã¦ããã æ¬è¨äºã§ã¯ããã®ãã¿
2013å¹´4æ13æ¥è¿½è¨: PHP 5.5 㧠finally å¥ã追å ãããã®ã§ Loan ãã¿ã¼ã³ã追è¨ãã¾ããã Closure Design Patterns ã§ç´¹ä»ããã¦ãã Groovy ã®ã³ã¼ãã PHP ã«ç¿»è¨³ãã¾ãããç¡åé¢æ°ã¨ã¯ãã¼ã¸ã£ãåºå¥ãã¦ãæ å ±ãåæ£ãã¦ãã¾ãã®ã§ã¯ãã¼ã¸ã£ã«çµ±ä¸ãã¾ãããMethod Combination (é¢æ°åæ)ã¯çç¥ãã¾ãããåæã§ã¯ã«ãªã¼å(currying) ã¨æ¸ãã¦ããç®æãé¨åé©ç¨ (partial application) ã«è¨æ£ãã¾ãããã«ãªã¼åã¨é¨åé©ç¨ã®éãã«ã¤ãã¦ã¯ãã¡ãã®ããã°ã«è§£èª¬ãããã¾ããGroovy ã³ã¢ã«æ¬å½ã®ã«ãªã¼åã¡ã½ãããæ¡ç¨ãããã¨ã¸ã®è¦æããããé·æçã«ã¯åãè¾¼ã¾ããè¦è¾¼ã¿ã®ããã§ãã ãããã®ãã¿ã¼ã³ã¯ Venkat Subramaniam æ°ããã³ Neal Ford æ°ã®ãã¬ã¼ã³è³æããæ
æ¸ç±ãã¨ã³ã¿ã¼ãã©ã¤ãºã¢ããªã±ã¼ã·ã§ã³ã¢ã¼ããã¯ãã£ãã¿ã¼ã³ãã®ããªãã¸ã§ã¯ããªã¬ã¼ã·ã§ãã«ãã¼ã¿ãã¼ã¹ã«é¢ããé¨åãã¾ã¨ãã¾ãã第11ç« ããªãã¸ã§ã¯ããªã¬ã¼ã·ã§ãã«æ¯ãèããã¿ã¼ã³ç¬¬12ç« ããªãã¸ã§ã¯ããªã¬ã¼ã·ã§ãã«æ§é ãã¿ã¼ã³ç¬¬13ç« ããªãã¸ã§ã¯ããªã¬ã¼ã·ã§ãã«ã¡ã¿ãã¼ã¿ãããã³ã°ãã¿ã¼ã³ä¸è¦§ããªãã¸ã§ã¯ããªã¬ã¼ã·ã§ãã«æ¯ãèããã¿ã¼ã³ãï¼Object-Relational Behavioral Patternsï¼ ã¦ããããªãã¯ã¼ã¯ï¼Unit of Workï¼ä¸æãããã³ã°ï¼Identity Mapï¼ã¬ã¤ã¸ã¼ãã¼ãï¼Lazy Loadï¼ããªãã¸ã§ã¯ããªã¬ã¼ã·ã§ãã«æ§é ãã¿ã¼ã³ãï¼Object-Relational Structural Patternsï¼ ä¸æãã£ã¼ã«ãï¼Identity Fieldï¼å¤é¨ãã¼ãããã³ã°ï¼Foreign Key Mappingï¼é¢é£ãã¼ãã«ãããã³ã°ï¼
æ¸ç±ãã¨ã³ã¿ã¼ãã©ã¤ãºã¢ããªã±ã¼ã·ã§ã³ã¢ã¼ããã¯ãã£ãã¿ã¼ã³ãã®ããªãã©ã¤ã³ä¸¦è¡æ§ã«é¢ããé¨åãã¾ã¨ãã¾ãã第16ç« ããªãã©ã¤ã³ä¸¦è¡æ§ãã¿ã¼ã³å段ç¥èãªãã©ã¤ã³ä¸¦è¡æ§ã»å段ç¥èï¼ä¸¦è¡å¦çã¨ã¯ãªãã©ã¤ã³ä¸¦è¡æ§ã»å段ç¥èï¼å®å ¨æ§/æ´»æ§ã¨ã¯ãªãã©ã¤ã³ä¸¦è¡æ§ã»å段ç¥èï¼ãªã¯ã¨ã¹ã/ã»ãã·ã§ã³/ãã©ã³ã¶ã¯ã·ã§ã³ã¨ã¯ãªãã©ã¤ã³ä¸¦è¡æ§ã»å段ç¥èï¼ãªãã©ã¤ã³ä¸¦è¡æ§ã¨ã¯ãªãã©ã¤ã³ä¸¦è¡æ§ã»å段ç¥èï¼æ¥½è¦³çããã¯/æ²è¦³çããã¯ã¨ã¯ä¸è¦§ããªãã©ã¤ã³ä¸¦è¡æ§ãã¿ã¼ã³ãï¼Offline Concurrency Patternsï¼ è»½ãªãã©ã¤ã³ããã¯ï¼Optimistic Offline Lockï¼éãªãã©ã¤ã³ããã¯ï¼Pessimistic Offline Lockï¼ç·©ããã¯ï¼Coarse Grained Lockï¼æé»ããã¯ï¼Implicit Lockï¼ã½ã¼ã¹ã³ã¼ãasakichy/PofEAAï¼ githubPofEA
This article includes a list of references, related reading, or external links, but its sources remain unclear because it lacks inline citations. Please help improve this article by introducing more precise citations. (January 2013) (Learn how and when to remove this message) This article needs additional citations for verification. Please help improve this article by adding citations to reliable
ã¢ã¯ãã£ãã¬ã³ã¼ãï¼ ãã¼ã¿ã½ã¼ã¹ã®ã¢ã¼ããã¯ãã£ã«é¢ãããã¿ã¼ã³è¡ãã¼ã¿ã²ã¼ãã¦ã§ã¤ï¼ãã¡ã¤ã³ãã¸ãã¯ãã©ããããã¨ï¼ã¢ã¯ãã£ãã¬ã³ã¼ãã¯ããã¼ã¿ãã¼ã¹ã®ãã¬ã³ã¼ããã«å¯¾ãã¦ãã²ã¼ãã¦ã§ã¤ã®å½¹å²ãæããã¯ã©ã¹ãä½æãã¾ããï¼ã¤ã®ã¤ã³ã¹ã¿ã³ã¹ãããã¼ãã«å ã®ï¼ã¤ã®è¡ã«ãããã¾ãããã¤ããã®ã¯ã©ã¹ã«ããã¡ã¤ã³ãã¸ãã¯ããé ç½®ãã¾ããã©ãããã°ï¼ã¢ã¯ãã£ãã¬ã³ã¼ãã®ã¯ã©ã¹ã¯ãã¬ã³ã¼ãæ§é ã¨ä¸è´ããã¾ãããã£ã¦ãã¯ã©ã¹å ã®åãã£ã¼ã«ãã¯ããã¼ãã«å ã®ååã¨ä¸è´ãã¾ããåæã«ããªãã¸ã§ã¯ããä¿æãã¦ããã¬ã³ã¼ããã¼ã¿ã追å ã»æ´æ°ã»åé¤ããã¡ã½ãããæä¾ãã¾ããããã¾ã§ã¯ãè¡ãã¼ã¿ã²ã¼ãã¦ã§ã¤ãã¨åãã§ãããã¢ã¯ãã£ãã¬ã³ã¼ãã¯ãããã«ããã¼ã¿ã«é©ç¨ããããã¡ã¤ã³ãã¸ãã¯ãå®è¡ãã¾ããã¾ããæ¤ç´¢ã¡ã½ãããããã®ã¯ã©ã¹ã«éçã¡ã½ããã¨ãã¦ç¨æããã®ãé常ã§ããã©ããã¦ï¼ã¢ã¯ãã£ãã¬ã³ã¼ãã®ã¯ã©ã¹ã¯ãã¬ã³
è¡ãã¼ã¿ã²ã¼ãã¦ã§ã¤ï¼ ãã¼ã¿ã½ã¼ã¹ã®ã¢ã¼ããã¯ãã£ã«é¢ãããã¿ã¼ã³ï¼ã¬ã³ã¼ãï¼ã¯ã©ã¹ãã©ããããã¨ï¼è¡ãã¼ã¿ã²ã¼ãã¦ã¨ã¤ã¯ããã¼ã¿ãã¼ã¹ã®ãã¬ã³ã¼ããã«å¯¾ãã¦ãã²ã¼ãã¦ã§ã¤ã®å½¹å²ãæããã¯ã©ã¹ãä½æãã¾ããï¼ã¤ã®ã¤ã³ã¹ã¿ã³ã¹ãããã¼ãã«å ã®ï¼ã¤ã®è¡ã«ãããã¾ããã©ãããã°ï¼è¡ãã¼ã¿ã²ã¼ãã¦ã§ã¤ã¯ã®ã¯ã©ã¹ã¯ãã¬ã³ã¼ãæ§é ã¨ä¸è´ããã¾ãããã£ã¦ãã¯ã©ã¹å ã®åãã£ã¼ã«ãã¯ããã¼ãã«å ã®ååã¨ä¸è´ãã¾ããåæã«ããªãã¸ã§ã¯ããä¿æãã¦ããã¬ã³ã¼ããã¼ã¿ã追å ã»æ´æ°ã»åé¤ããã¡ã½ãããæä¾ãã¾ããè¡ãã¼ã¿ã²ã¼ãã¦ã§ã¤ã使ç¨ããå ´åãæ¤ç´¢ã¡ã½ãããã©ãã«ç½®ãã®ããåé¡ã§ããéçãªæ¤ç´¢ã¡ã½ãããç¨æãããã¨ãå¯è½ã§ãããããªã¢ã¼ãã£ãºã ã®éªéã«ãªãã¾ããç¬ç«ããæ¤ç´¢ç¨ãªãã¸ã§ã¯ããä½æããã®ããã¿ã¼ã§ããã©ããã¦ï¼è¡ãã¼ã¿ã²ã¼ãã¦ã§ã¤ã¯ãã¬ã³ã¼ããã®ãã®ã®ããã«è¦ãããªãã¸ã§ã¯ããæä¾ãã¾ããã¯ã©ã¤ã¢ã³
ï¼ãã¼ãã«ï¼ã¯ã©ã¹ãã©ããããã¨ï¼ãã¼ãã«ãã¼ã¿ã²ã¼ãã¦ã§ã¤ã¯ããã¼ã¿ãã¼ã¹ã®ããã¼ãã«ãã«å¯¾ãã¦ãã²ã¼ãã¦ã§ã¤ã®å½¹å²ãæããã¯ã©ã¹ãä½æãã¾ããï¼ã¤ã®ã¤ã³ã¹ã¿ã³ã¹ãããã¼ãã«å ã®ãã¹ã¦ã®è¡ãå¦çãã¾ããã©ãããã°ï¼ãã¼ãã«ãã¼ã¿ã²ã¼ãã¦ã§ã¤ã¯ããã¼ã¿ã®åã渡ããå½¹å²ãªã®ã§ãåºæ¬ã¹ãã¼ãã¬ã¹ã§ãããã¼ãã«ãã¼ã¿ã²ã¼ãã¦ã§ã¤ã¯ããã¼ã¿ãã¼ã¹ãããã¼ã¿ãåå¾ããããã®æ¤ç´¢ã¡ã½ããã¨ã追å ã»æ´æ°ã»åé¤ã®åã¡ã½ããããæ§æãããã·ã³ãã«ãªã¤ã³ã¿ãã§ã¼ã¹ãç¨æãã¾ããåã¡ã½ããã¯ãå¼æ°ãSQLå¼ã³åºãã«ãããã³ã°ãããã¼ã¿ãã¼ã¹æ¥ç¶ã«å¯¾ãã¦ãã®SQLãå®è¡ãã¾ãããã¼ãã«ãã¼ã¿ã²ã¼ãã¦ã§ã¤ã¯ãç¹ã«ããã¼ãã«ã¢ã¸ã¥ã¼ã«ãã«æé©ã§ããããã¼ãã«ã¢ã¸ã¥ã¼ã«ãåä½ããã¬ã³ã¼ãã»ãããã¼ã¿æ§é ãä½æãã¾ãããã¼ãã«ã¢ã¸ã¥ã¼ã«ã«ã¯ããã¼ãã«ãã¼ã¿ã²ã¼ãã¦ã§ã¤ãå¯ä¸ã®é¸æè¢ã§ããã©ããã¦ï¼ãã¼ãã«ãã¼ã¿ã²ã¼ãã¦ã§
ã¢ããªã±ã¼ã·ã§ã³ãã¸ãã¯ãã©ããããã¨ï¼ãã¸ãã¹ãã¸ãã¯ã¯2ã¤ç¨®é¡ã«åé¡ããã¾ããããã¡ã¤ã³ãã¸ãã¯ãã¨ãã¢ããªã±ã¼ã·ã§ã³ãã¸ãã¯ãã§ããããã¡ã¤ã³ãã¸ãã¯ã ãã¡ã¤ã³ã§ã®åé¡ãåãæ±ãããã¨ãã°ãç¹å®ã®ãã¸ãã¹ã«ç¹åããè¨ç®å¦çãªã©ããã¢ããªã±ã¼ã·ã§ã³ãã¸ãã¯ã ã¢ããªã±ã¼ã·ã§ã³ã®è²¬åãåãæ±ãããã¨ãã°ãæ å½è ã¸ã®ã¡ã¼ã«éç¥ããå¥ã®çµ±åãããã¢ããªã±ã¼ã·ã§ã³ã¸ã®éç¥ãªã©ãå¥åãã¯ã¼ã¯ããã¼ãã¸ãã¯ãããµã¼ãã¹ã¬ã¤ã¤ã¯ããã¡ã¤ã³ãªãã¸ã§ã¯ãããã¢ããªã±ã¼ã·ã§ã³ãã¸ãã¯ãåé¢ãã¾ãããµã¼ãã¹ã¬ã¤ã¤ã¯ãç²ç²åº¦ã®ãµã¼ãã¹ãæä¾ãã層ãçæãã¦ãã¢ããªã±ã¼ã·ã§ã³å¢çãä½æãã¾ããå¢çãéãã¦ãã¯ã©ã¤ã¢ã³ãå´ã«æä½ã®ã»ãããæä¾ãã¾ããã¢ããªã±ã¼ã·ã§ã³ã®ãã¸ãã¹ãã¸ãã¯ãã«ãã»ã«åãããã®å®è£ ã®ä¸ã§ãã©ã³ã¶ã¯ã·ã§ã³ãå¶å¾¡ããå¿çã調åãã¾ããã©ãããã°ï¼å®è£ ããªã¨ã¼ã·ã§ã³ã«ã¯ãããã¡ã¤ã³ãã¡ãµã¼ã
æ¸ç±ãã¨ã³ã¿ã¼ãã©ã¤ãºã¢ããªã±ã¼ã·ã§ã³ã¢ã¼ããã¯ãã£ãã¿ã¼ã³ãã®ãã¬ã¤ã¤åã¢ã¼ããã¯ãã£ã«é¢ããé¨åãã¾ã¨ãã¾ãã第09ç« ããã¡ã¤ã³ãã¸ãã¯ãã¿ã¼ã³ç¬¬10ç« ããã¼ã¿ã½ã¼ã¹ã®ã¢ã¼ããã¯ãã£ã«é¢ãããã¿ã¼ã³ç¬¬14ç« ãWebãã¬ã¼ã³ãã¼ã·ã§ã³ãã¿ã¼ã³ç¬¬15ç« ãåæ£ãã¿ã¼ã³ä¸è¦§ããã¡ã¤ã³ãã¸ãã¯ãã¿ã¼ã³ãï¼Domain Logic Patternsï¼ ãã©ã³ã¶ã¯ã·ã§ã³ã¹ã¯ãªããï¼Transaction Scriptï¼ãã¡ã¤ã³ã¢ãã«ï¼Domain Modelï¼ãã¼ãã«ã¢ã¸ã¥ã¼ã«ï¼Table Moduleï¼ãµã¼ãã¹ã¬ã¤ã¤ï¼Servic eLayerï¼ããã¼ã¿ã½ã¼ã¹ã®ã¢ã¼ããã¯ãã£ã«é¢ãããã¿ã¼ã³ãï¼Data Source Architectural Patternsï¼ ãã¼ãã«ãã¼ã¿ã²ã¼ãã¦ã§ã¤ï¼Table Data Gatewayï¼è¡ãã¼ã¿ã²ã¼ãã¦ã§ã¤ï¼Row Data Gatewayï¼ã¢ã¯ãã£ãã¬
ãã¸ãã¹ãã¸ãã¯ããã¼ã¿ãã¼ã¹ã®è¡¨ãã¨ã«ãã©ããããã¨ï¼ãã¼ãã«ã¢ã¸ã¥ã¼ã«ã¯ããã¼ã¿ãã¼ã¹å ã®ãã¼ãã«ï¼ã¤ã«ã¤ãï¼ã¤ã®ã¯ã©ã¹ãæã¤ãã¡ã¤ã³ãã¸ãã¯ãæ§ç¯ãã¾ããã¯ã©ã¹ã®ï¼ã¤ã®ã¤ã³ã¹ã¿ã³ã¹ã«ã¯ããã¼ã¿ã«å¯¾ãã¦åä½ããå種ã®æç¶ããå«ã¾ãã¾ããã©ãããã°ï¼ãã¼ãã«ã¢ã¸ã¥ã¼ã«ã¯ãæ å½ã®ãã¼ãã«ã®ãã¼ã¿æä½ã¡ã½ããããããã¾ããæ¯ãèãã¨ãã¼ãã«ã®ã°ã«ã¼ãåã«ãããã«ãã»ã«åã®å¤ãã®ã¡ãªãããå¾ããã¾ãããã¼ãã«ã¢ã¸ã¥ã¼ã«ã¯ãã¤ã³ã¹ã¿ã³ã¹ã®å ´åãããã°ãéçã¡ã½ããã®éåã®å ´åãããã¾ããããã¼ãã«ã¢ã¸ã¥ã¼ã«ã®ã¤ã³ã¹ã¿ã³ã¹ãã¨ããã¼ãã«ã®ç¨®é¡ãã¯ï¼å¯¾ï¼ã§ããä¾ãã°ã注æãã®å ´åããã¡ã¤ã³ã¢ãã«ã§ã¯ï¼ã¤ã®ã注æãã«ï¼ã¤ã®ã注æããªãã¸ã§ã¯ãã使ããã¾ããããã¼ãã«ã¢ã¸ã¥ã¼ã«ã§ã¯ãï¼ã¤ã®ãªãã¸ã§ã¯ãã§ãã¹ã¦ã®ã注æããæ±ãã¾ããã©ããã¦ï¼ãã¼ãã«ã¢ã¸ã¥ã¼ã«ã¯ããã¼ãã«æåã®ãã¼ã¿ãåæã¨ããæ§é ãæã£
ï¼ãã¸ãã¹ãã¸ãã¯ãï¼ã¡ã½ããã§ãã©ããããã¨ï¼ãã¸ãã¹ã¢ããªã±ã¼ã·ã§ã³ã¯ãä¸é£ã®ãã©ã³ã¶ã¯ã·ã§ã³ã¨ãã¦èãããã¨ãã§ãã¾ãããã©ã³ã¶ã¯ã·ã§ã³ã«ã¯ããã¼ã¿ã®åç´ãªè¡¨ç¤ºã»ç»é²ãããã¸ãã¹ãã¸ãã¯ãå«ã¾ãã¦ãã¾ãããã©ã³ã¶ã¯ã·ã§ã³ã¹ã¯ãªããã¯ããã¸ãã¹ãã¸ãã¯ãï¼ã¤ã®ã¡ã½ããï¼ããã·ã¼ã¸ã£ï¼ã«ã¾ã¨ãã¦ããã¼ã¿ãã¼ã¹ãç´æ¥ãªããèãã©ããã¼ãä»ãã¦å¼ã³åºãã¾ããããã©ã³ã¶ã¯ã·ã§ã³ãã¨ããè¨èã使ç¨ãã¦ããã®ã¯ãã»ã¨ãã©ã®å ´åããã¼ã¿ãã¼ã¹ãã©ã³ã¶ã¯ã·ã§ã³ãã¨ã«ï¼ã¤ã®ãã©ã³ã¶ã¯ã·ã§ã³ã¹ã¯ãªããã使ç¨ãã¦ããããã§ãããã¹ã¯ãªãããã¨ããè¨èã¯ããã¹ã¯ãªããè¨èªãã®ãã¨ã§ã¯ãªãããã³ã¼ãçããæå³ãã¦ãã¾ããã©ãããã°ï¼ããããã®ãã¸ãã¹ãã¸ãã¯ããããå°ç¨ã®ãã©ã³ã¶ã¯ã·ã§ã³ã¹ã¯ãªãããæããã¾ããï¼ãã¸ãã¹ãã¸ãã¯ã«ï¼ãã©ã³ã¶ã¯ã·ã§ã³ã¹ã¯ãªãããªã®ã§ãä»ã®ãã©ã³ã¶ã¯ã·ã§ã³ã¹ã¯ãªããã¯æ°ã«ããå¿ è¦ã
ãã¸ãã¹ãã¸ãã¯ããªãã¸ã§ã¯ãæåã§ãã©ããããã¨ï¼ãã¸ãã¹ãã¸ãã¯ã«ããã¦ãæãé¿ãããç¶æ³ã¯ããã®ãã¸ãã¯ããè¤éãã«ãªã£ã¦ãã¾ããã¨ã§ããã¨ã¯ãããç¾å®ã®ãã¸ãã¹ã«ã¼ã«ã¯å¤ãã®ãã¿ã¼ã³ãæã¡ããããåæ ãããã¸ãã¯ã¯ã¨ã¦ãè¤éã«ãªããã¡ã§ãããã¡ã¤ã³ã¢ãã«ã¯ããã®è¤éæ§ã«ããªãã¸ã§ã¯ãæåãããã£ã¦å¯¾å¿ãã¾ãããã¡ã¤ã³ã¢ãã«ã¯ã対象ã¨ãªããã¸ãã¹ã¨ãªã¢ãã¢ãã«åãããªãã¸ã§ã¯ãã®ã¬ã¤ã¤ãæ¿å ¥ãã¾ãããã¸ãã¹ã«ããããã¼ã¿ãã¢ãã«åãããªãã¸ã§ã¯ããããã°ããã¸ãã¹ã§ä½¿ç¨ããã«ã¼ã«ãæ±ããªãã¸ã§ã¯ããããã¾ãããã¡ã¤ã³ã¢ãã«ã¯ããã¼ã¿ãã¼ã¹ã¢ãã«ã¨ä¼¼ã¦ããå ´åãããã¾ããã大ããªéããããã¾ãããã¡ã¤ã³ã¢ãã«ã§ã¯ããã¼ã¿ã¨ããã»ã¹ãä¸ä½åãããè¤æ°å¤å±æ§ãè¤éã«çµ¡ã¿åãé¢ä¿ããããããã«ç¶æ¿ã使ããã¦ãã¾ããã©ãããã°ï¼ã·ã³ãã«ãªãã¡ã¤ã³ã¢ãã«ã¯ããã¼ã¿ãã¼ã¹ãã¼ãã«ãã¨ã«ï¼ã¤ã®ãã¡ã¤
UIãã¿ã¼ã³ è¿½è¨ ãã®è¨äºã®ä¸é¨ãå çã»ä¿®æ£ãããã®ããéçºè ãç¥ã£ã¦ããã¹ãã6ã¤ã®UIã¢ã¼ããã¯ãã£ã»ãã¿ã¼ã³ãã¨ãã¦@ITã«è»¢è¼ãã¦ãã¾ãã MVVMã追å ããä¸ã§ãã¢ããªã±ã¼ã·ã§ã³ã¢ãã«ã¨MVVMããã¬ã¼ã³ãã¼ã·ã§ã³ã¢ãã«ã®ããªã¨ã¼ã·ã§ã³ã¨ãã¦ä½ç½®ã¥ãã¾ããã MVPã®2ã¤ã®ã¹ã¿ã¤ã«ã¨ãã¦ãç£è¦ã³ã³ããã¼ã©ã¨ããã·ãã»ãã¥ã¼ã説æãã¾ããã ã¾ããã Martin Fowlerã®"GUI Architectures"ã訳ããã®ã§å ¬éãããã¨æã£ãã®ã ããFAQãã¼ã¸ã«ãEAA developmentã¨ãDSLãªããã¯åæ¥åºçãããã§ä¾å¤ã£ã¦ãã¨ã§ãã¨æ¸ãã¦ãããé¢åã ã£ãã®ã§ç¿»è¨³ã®å ¬éã¯ããã¦ããèªåã®ç解ãæ¸ããã¨ããã¹ã¿ã¤ã«ã«ãããã¨æãã Fowleræ°ã説æãã¦ããã®ã¯ ããã©ã¼ã ã¨ã³ã³ããã¼ã«ãããã¢ãã«ãã¥ã¼ã³ã³ããã¼ã©ã¼ (MVC)ããããã¬ã¼ã³ãã¼ã·ã§ã³ã¢ãã«ãã
DDDé£æ°ã«æ§ãã Domain-Driven Designã®ã¨ãã»ã³ã¹ 第3åã大è¦æ¨¡ãªããã¸ã§ã¯ãã¸ã®é©ç¨ æ ªå¼ä¼ç¤¾ãªã¼ã¸ã¹ç·ç ã¢ããã³ã¹ãã¢ããªã³ã°ã½ãªã¥ã¼ã·ã§ã³é¨ ä½è¤ å¡å Domain-Driven Design Tackling Complexity in the Heart of Software Eric Evans è Addison-Wesley, 59.99ãã« 560ãã¼ã¸ ISBN: 0-321-12521-5 æ¸ç±ãDomain-Driven Designããç´¹ä»ããæ¬é£è¼ããä»åã§æçµåã§ããååã¯DDDã®ç¬¬IIé¨ã第IIIé¨ãç´¹ä»ãã16ã®ãã¿ã¼ã³ã«ãã£ã¦ãã¡ã¤ã³ã¢ããªã³ã°ã®åºæ¬çãªã¢ããã¼ãã説æãã¾ãããä»åã¯ãæ®ã第IVé¨ãã22ã®ãã¿ã¼ã³ãç´¹ä»ãã¾ãã åä¸ãã¡ã¤ã³ãæ±ã£ããã¡ã¤ã³ã¢ããªã³ã°ã®ãã¦ãã¦ã¯ãååã¾ã§ã§ãã¹ã¦çµäºã§ãã第IVé¨ãStr
ï¼»æè¡è¬åº§ï¼½ DDDé£æ°ã«æ§ãã Domain-Driven Designã®ã¨ãã»ã³ã¹ 第 1 åããã¡ã¤ã³é§åè¨è¨ã¨ã¯ 第 2 åãDDDã®åºç¤ã¨å®è·µ 第 3 åã大è¦æ¨¡ãªããã¸ã§ã¯ãã¸ã®é©ç¨ DDDãã¿ã¼ã³ã«ã¿ãã° ãã¿ã¼ã³å åè訳 I. Putting the Domain Model to Work Ubiquitous Language ã¦ããã¿ã¹è¨èª Model-Driven Design ã¢ãã«é§åè¨è¨ Hands-On Modeler å®è·µçã¢ãã©ã¼ II. Building Blocks of a Model-Driven Design Layered Architecture 層ç¶ã¢ã¼ããã¯ã㣠Smart UI ï¼ã¢ã³ããã¿ã¼ã³ï¼ å©å£ãªUI Entities ã¨ã³ãã£ã㣠Value Objects å¤ãªãã¸ã§ã¯ã Services ãµã¼ãã¹ Modules ã¢ã¸
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}