Flyweight DDD 軽éDDDãé¿ãã¤ã¤è»½é(Flyweight)ã«DDDãå°å ¥ããããã®ã¢ã¼ããã¯ãã£ã§ãã
Reactive Messaging Patternsèªæ¸ä¼ã®ãªãã§ãããã¤ã¯ããµã¼ãã¹ã¨Akkaã¨Goããªé¢ç½ã話é¡ãåºãã®ã§ä»£è¡¨ã§ã¾ã¨ãã試ã¿ã¨ã³ããªã§ããï¼çµæ§ãè²ã ãªè©±é¡ã«é£ãã§ããã®ã§é£åº¦é«ããï¼ ã¾ã¨ãæ¹ã¨ãã¦ã¯ãä¼è©±ãã°ã転è¨ãã¦ãæå¾ã«ã¾ã¨ããå½¢ãã¨ã£ã¦ãã¾ããã¾ããè°è«ã¨ç§ã®èããæ··ãããªãããã«ææã¯åãã¦ããã¾ãã ddd-cqrs-es.connpass.com TL;DR è¦ç´ æè¡ï¼ã©ããªè¨èªä½¿ãã¨ããã©ããªã¢ã¼ããã¯ãã£ã«ããã¨ãï¼ã®åã«ãçµç¹ããããã¯ãã®æ§æ ¼ãèãã¦æ¦ç¥ã決ãã¾ãããã ããã¦ããã®ä¸ã§æé©ã¨æãããæ¦è¡ãã¨ãããããªè¦ç´ æè¡ãæ¡ç¨ãã¾ãããã Akkaè¯ããã ãã°ï¼ä¸é¨æç²ï¼ Slackããã®å¼ç¨ã®ããããã¹ããã¼ã¹ã§ãã äºã®å§ã¾ãã¯ãèæ¨ããï¼ä»¥ä¸ã @applideveloper ï¼ã®çºè¨ã§ããã ï¼ãã®è¨äºçµ¡ã¿ã§ããã éåç¥ã§å
Rails.rootç´ä¸ã«domainãã£ã¬ã¯ããªããã以å¤ã¯é常ã®Railsã¨åãã§ãã domainãappã«å«ããªãçç± appã¯è§£æ±ºé åãdomainã¯åé¡é åã ããã§ãã domainãã¢ããªã±ã¼ã·ã§ã³ã¨ççµåã«ãããã¨ã§ Rails以å¤ã®Webã¢ããªã±ã¼ã·ã§ã³ãã¬ã¼ã ã¯ã¼ã¯ã 使ããã¨ãã§ãã¾ãã å¾è¿°ã®O/Rãããã³ã°ã§ActiveRecordã使ã£ã¦ããã®ã§ å®éã«éãWAFã使ããã¨ããã¨ãããç°¡åã«ã¯åãæ¿ããããªãã®ã§ãã æã大äºãªãã¡ã¤ã³ã¢ãã«ã¯ãã®ã¾ã¾å©ç¨ãããã¨ãã§ãã¾ãã domainãã£ã¬ã¯ã㪠domain âââ activity â  âââ complete_state.rb â  âââ end_phase_spec.rb â  âââ no_state.rb â  âââ no_transition.rb â  âââ no_wip_
Domain-Driven Design Referenceï¼Amazonè¦ã¦ããçºè¦ãã¦ï¼å®ãã£ãããè²·ã£ã¦ã¿ãï¼ ãºãã£ã¨ãã¦ã¦ï¼ãã±ããç´¢å¼éã¿ãããªé°å²æ°ï¼ã¨ãªãã¯ã¨ã´ã¡ã³ã¹ã®ãã¡ã¤ã³é§åè¨è¨ããï¼è¦ç´ãæç²ããã¦ãã¦ï¼70ãã¼ã¸ãããã§ï¼éè¦ãªæ¦å¿µãæ¼ãããããï¼åèã¯èè ã®çµé¨ãèªã£ã¦ãããã³ã¼ãã¼ã大åãå ãããã©ï¼ãã®æ¬ã§ã¯ããµãã¨åããã¦ï¼å®ç¾©ã ããè¼ã£ã¦ãï¼ åã®æ¬ãã10å¹´ãããçµã£ãã®ã§ï¼æ°ããå 容ãå¢ãã¦ãï¼ãã¡ã¤ã³ã¤ãã³ãã¨ãã¼ããã¼ã·ããï¼å·¨å¤§ãªæ³¥å£åï¼ããããå®è·µãã¡ã¤ã³é§åè¨è¨ã«åºã¦ããï¼ ããã ãèªãã§ãã¡ã¤ã³é§åè¨è¨ããå§ãããï¼ã¨ã¯ãªããªãã ãããã©ï¼ã§ããæ¬èªã¿ãããªããã©è°è«ã«ã¯åå ãããï¼ã¨ãï¼ã©ããªãã®ã軽ãçºãããï¼ã¿ãããªäººãèªãã«ã¯ã¦ã£ã¨ãæ©ããããããªãï¼ å¯ä¸å½¹ç«ã£ãã®ã忏ãã§ï¼ã¨ãªãã¯ã¨ã´ã¡ã³ã¹ã®ãã¡ã¤ã³é§åè¨è¨ã®æ¬ã®ãã¨ãTh
ã¿ã¤ãã«ã«æ¸ããã¦ãããã¨ã§å ¨ã¦ãªã®ã§ãããDDDã¨CQRSã®ä½µç¨ã«ã¤ãã¦å¼·èª¿ãã¦ããæ¥æ¬èªã®æ å ±ãå°ãªãã®ã§ã軽ãã¾ã¨ãã¦ããã¾ãã CQRS+DDD CQRS(ã³ãã³ãã¯ã¨ãªè²¬ååé¢)ã¨ã¯ããµã¼ãã®æ©è½ããã³ãã³ããï¼å¯ä½ç¨ããï¼ã¨ãã¯ã¨ãªãï¼å¯ä½ç¨ãªãï¼ã§å®å ¨ã«åãã¡ããããã¨ããèãæ¹ã§ãããããããã³ãã³ããã¨ãã¯ã¨ãªãã§ã¯ããããè¦ä»¶ãç°ãªãã¾ãã ä¸è²«æ§ï¼ ãã³ãã³ããã¯æ´åæ§ã®ããå¦çãå¿ è¦ããã¯ã¨ãªãã¯ãã¾ãæ°ã«ããå¿ è¦ãªã ã¹ãã¬ã¼ã¸ï¼ ãã³ãã³ããå´ã¯æ£è¦åãã¦ãã¼ã¿ãä¿åãããããã¯ã¨ãªãå´ã¯éæ£è¦ãªæ¹ãå¹çç ã¹ã±ã¼ã©ããªãã£ï¼ ãã³ãã³ããã¯å ¨ä½ã®è² è·ã®ä¸ã§å ããå²åãå°ãªãããã¯ã¨ãªãã¯è² è·ã大ãã ãªã®ã§åãã¡ããããã§ããã ã³ãã³ãå´ è¤éãªãã¸ãã¹ãã¸ãã¯ã絡ãã®ã§ããã¡ã¤ã³é§åãæ´»èº ã¯ã¨ãªå´ è¤éãªãã¸ãã¹ãã¸ãã¯ããªãã®ã§ããã¡ã¤ã³å±¤ã¯ã¹ããã
以åãScalaJpã®gitter.imã§DDDã«ã¤ãã¦è°è«ãçãã«è¡ããã¦ããã©ãããããã°ãæ¶ãã¡ããã®ããã£ãããªãã¦ãããã«å 容ãè²¼ä»ãã¾ãã scalajp/public - Gitter è¦ç´ããã¨å®è·µDDDæ¬åºããã¿ããªã§èªããããã£ã¦ãã¨ã§ã å®è·µãã¡ã¤ã³é§åè¨è¨ (Object Oriented Selection) ä½è : ã´ã¡ã¼ã³ã»ã´ã¡ã¼ãã³,髿¨æ£å¼åºç社/ã¡ã¼ã«ã¼: ç¿æ³³ç¤¾çºå£²æ¥: 2015/03/17ã¡ãã£ã¢: 大忬ãã®ååãå«ãããã° (1ä»¶) ãè¦ã ãã³ãã¯ãèªåã®ããã°ã¨ããããªãã¦Gistã¨ãããããã ãããã©ãè¦ãç®ãæ´ããã®ãä¸çªæ¥½ãªã®ã§ãããã«æ²è¼ãã¦ããã¾ãã ä¸å¿ãæåã«ã¾ã¨ããã«ããã£ãçµç·¯â xuwei-k 2015å¹´2æ24æ¥ gitterãç¡æã ã¨ãã°ã®ä¿åæé2é±éã£ã¦è©±ã ã£ããã©ãå®ã¯ç¾ç¶å ¨é¨æ®ã£ã¦ã https://gitte
I searched for Value object implementation in Python, and found keleshev's implementation in github. But it doesn't provide the feature of immutability of Value object. So, I implemented property based immutable Value object class by myself. explicit property definition value based comparison, including hash Any feedbacks are welcome. ValueObject class class ValueObject(object): """ base class for
ã¨ãªãã¯ã»ã¨ã´ã¡ã³ã¹ã®ãã¡ã¤ã³é§åè¨è¨ (IT ArchitectsâArchive ã½ããã¦ã§ã¢éçºã®å®è·µ) ä½è : ã¨ãªãã¯ã»ã¨ã´ã¡ã³ã¹,ä»é¢å,åæºå³æ¡,ç§éç¥ååºç社/ã¡ã¼ã«ã¼: ç¿æ³³ç¤¾çºå£²æ¥: 2011/04/09ã¡ãã£ã¢: å¤§åæ¬è³¼å ¥: 19人 ã¯ãªãã¯: 1,360åãã®ååãå«ãããã° (131ä»¶) ãè¦ã æ£æã«ããã第2é¨ã¾ã§èªãã ææ³ãæ¸ããã¨æã£ã¦ãä½ã¨ãã2æå¾åã«ãªã£ã¦ãã¾ã£ãã ããããèãããããããã¨ãå¿ãã¦ãã¾ãåã«ææ³æãæ¸ãã¾ãã (DBã°ã£ããããã£ã¦ã¦ã³ã¼ããæ¸ããªã)俺ã¿ãããªã®ããè¦ããªãã¸ã§ã¯ãæåè¨è¨ã®ç¹å¾´ã«ããå®ä½(ã¨ã³ãã£ãã£)ã®åå¨ã¯èªãã¦ããé¢ä¿(ãªã¬ã¼ã·ã§ã³ã·ãã)ã®åå¨ããªããªãèªããªãããã¤ã¾ãé¢ä¿ã極åã¯ã©ã¹ã¨ãã¦ç«ã¦ãªããã¨ããã®ãããã ä¾ãã°ãé¨éã¨ç¤¾å¡ã®é¢ä¿ããæå±ã¯ã©ã¹ãã¨ãã¦ç¬ç«ãããããããªãã¸ã§ã¯ãéã®é¢é£
HelloAspAngularã¯ã·ã³ãã«ãªãµã³ãã«Todoãªã¹ã Webã¢ããªã§ãã 誰ã§ãããã«ãããTodoãªã¹ãããã¡ã¤ã³ã«é¸ã¶ãã¨ã§ãæè¡çãªç¹å¾´ã«ç¦ç¹ãåããããããã¦ãã¾ãã Domain Driven Developmentã«åºã¥ãã¦è¨è¨ããASP.NETãAngularJSãEntity Frameworkã¨ãã£ãæè¡ã使ç¨ãã¦ãã¾ãã ããã¸ã§ã¯ãã®ãã¦ã³ãã¼ã Zipãã¡ã¤ã« ãªãã¸ã㪠æè¡ ASP.NET MVC 5 ASP.NET Web API 2 AngularJS 1.2 EF 6 Code First AutoMapper Unity Bootstrap Domain Driven Development å®è¡ã®ä»æ¹ Visual Studio 2013ã§ã½ãªã¥ã¼ã·ã§ã³ãéãã¦ãã«ããã¦ãã ãããNuGetããã±ã¼ã¸ã¯èªåçã«å¾©å ããã¾ãã HelloAs
ãã£ãã Dddããã£ã¨èº«è¿ã« DDDã¨ã¯ãããããã¨ãªã®ã - Some Days You Get the Bear ã¬ã¤ã¤ã¼åã¢ã¼ããã¯ã㣠ãã¡ã¤ã³é§åè¨è¨ã»ã¢ããªã±ã¼ã·ã§ã³æ§ç¯ç·¨ã»ã¬ã¤ã¤åã¢ã¼ããã¯ã㣠- Strategic Choice DDDã®èªæ¸è¨é²ï¼ç¬¬4ç« ããã¡ã¤ã³ãéé¢ããï¼ - é人ããã°ã©ãã¼ãç®æã㦠ã¡ã³ã¿ã«ã¢ãã« ãã¡ã¤ã³é§åè¨è¨ãå®è·µããããã« - Digital Romanticism ãã¡ã¤ã³é§åè¨è¨ã»éçºã®å®è·µ ï¼ããåãããªãï¼
ãã¡ã¤ã³é§åè¨è¨ã¨ããã®ã¯ã½ããã¦ã§ã¢å·¥å¦ã®ãããããªæ¬ã§ï¼Kindleã§è²·ããã®ã§èªãã ï¼ãã¡ã¤ã³ãè»¸ã«æ¦ç¥çã«è¨è¨ãã¾ãããã¨ããæ¬ï¼2é±éãããã§èªãã¦è¯ãä½é¨ã§ãã¦ããã£ãï¼ ã½ããã¦ã§ã¢ãï¼ã¦ã¼ã¶ã¼ã¤ã³ã¿ãã§ã¼ã¹ï¼ã¢ããªã±ã¼ã·ã§ã³ï¼ãã¡ã¤ã³ï¼ã¤ã³ãã©ã¹ãã©ã¯ãã£ã¨ãã4ã¤ã®å±¤ã«åãã¦ï¼ä¸çªéè¦ãªã®ããã¡ã¤ã³å±¤ã§ï¼ãã¡ã¤ã³å±¤ã«ã¢ããªã±ã¼ã·ã§ã³ãåå¨ãå¾ãçç±ãããï¼éè¡ã·ã¹ãã ã ã£ããï¼å£åº§ã¨ãå©åã¿ããªãã¤ããã¡ã¤ã³å±¤ã§ï¼å£åº§ãããã§ãã¦ãã¨éè¡ã¨ãã¦ãã¾ãããï¼ATMã®ã¿ããããã«ã¨ããã®ã¯ã¦ã¼ã¶ã¼ã¤ã³ã¿ãã§ã¼ã¹ã§ï¼ã©ããªã«ATMæ¼ããããã¦ãï¼ãã¡ã¤ã³å±¤ã«ï¼å£åº§ã¨ããæ¦å¿µããªãã¦ï¼ãã ã®ããã·ã¥ã ã£ããããã¨ï¼éè¡ãéå¶ãã¦éãå²ããã¨ãï¼æ°ããªéèååã¨ãä½ãã®ãå°é£ã«ãªãï¼ã¤ã³ãã©å±¤ã¯æ°¸ç¶åã¨ãããã®ã ãã©ï¼ã¤ã³ãã©å±¤ãããã«ããã¦ãï¼æå³ãªããã¼ã¿ãä¿åãã¦ãã¦ã¯éè¡å
Jan 4 2014Tags: dci ddd æ¨å¹´æ«ã«ã ãã ãDCIã«é¢ããèªåã®èããæ´çãããã¦èº«å ã§è©±ãã¦ãã¦ã çµè«ã¨ãã¦ã¯ãDDDã¨DCIã©ã¡ããã¡ã³ã¿ã«ã¢ãã«ã«è¿ã¥ããããã«æ©è½ãã¦ãç¹ã¯å¤ãããªãããã®å DDDãããã¯DCIããã¬ã¼ã ã¯ã¼ã¯ã«ãããããããã¯ä¸é¨ã«åãå ¥ããã®ããããã¯åçµããã¡ã¤ã³ã«ãã£ã¦åæ¨é¸æã ãããã¨ããã¨ããã«è½ã¡çããã®ã ããã©ãå¿ä½ç¡ãå å®¹ãªæ°ãããã®ã§æ¹ãã¦ããã°ã«æ¸ããã¨ã«ããã DDDè³ããè¦ãDCIã®èå¯ DCIã¯FATãªãã¡ã¤ã³ã¢ãã«ã«å¯¾ããã¢ããã¼ãã¨ããããã¯ãã·ããªãªãæç¢ºã«ããããã®ã¢ããã¼ããªã®ããªã¨æãã DDDãå®è·µãããããªè¤éãªåé¡ã«ç´é¢ããæããã¡ã¤ã³ã¢ãã«ã¯å±±ã®ããã«å¢ãããããç¥èãåã¿ç ãã¦ãã¡ã¤ã³ã¢ãã«ã«ããã»ããããä¸å±¤ã®ãã¸ãã¯ãç°¡æ½ã«ãªãã®ã§ç©æ¥µçã«ãã¡ã¤ã³ã¢ãã«ã«è½ã¨ãè¾¼ãæ¹ããããçµæã¨ãã¦ãã·ã
é¢ç½ãããªãã¿ããã£ãã®ã§ãèªåãªãã®èããã¾ã¨ãã¦ã¿ãã Ruby/Rails ç¨ DI ã³ã³ãã Dee ãã¤ãã£ããããã㯠Ruby ã®ã«ã«ãã£ã¼ã«ã¤ã㦠ãã®è¨äºã¯Rubyç¨ã®DIã³ã³ããã®è©±é¡ãªãã§ãããDCIã«ã¤ãã¦ãè¨åããã¦ããããã§ããæ¯è¼è»¸ã¯DIãã®ãã®ã¨ããããããµã¼ãã¹ã¨DCIã ã¨æãã®ã§ãããã«ã¤ãã¦ãã©ãã©ã¨ããã¤ãèããã¾ã¨ãã¦ã¿ã¾ããå¤åãè¿äºã«ãªãããã§ãªããªããããããã¨å®æä¸ã®é½åã§DDDã®è¦ç¹ããæ¸ãã¾ãâ¦ã ãµã¼ãã¹ã¨ããè¨èã¯ããã¾ã ã¾ããç°¡åã«åæã®æ´çãããåã«âãµã¼ãã¹âã£ã¦è¨èãä½ãæãã®ãçµæ§ææ§ã§ãã ãµã¼ãã¹ã¯ç°¡åã«ããã¨æç¶ãã¨ãæ¯ãèãã®ãã¨ã§ãããç´°ããããã¨ãPofEAAã§ãããµã¼ãã¹ã¨ãDDDãããµã¼ãã¹ã¯ãç®çãç°ãªãã¾ããåè ã¯ã¢ããªã±ã¼ã·ã§ã³ã®ããã«ãã¡ã¤ã³ã¢ãã«ãåå©ç¨ããããã®ãã®ã§ããå¾è ã¯ãã¡ã¤ã³ã®ç¥è
ã¿ãªãããããã«ã¡ã¯ãã°ãªã¼ã®ãã¨ãã ã(@j5ik2o)ã§ãã ãã®ã¨ã³ããªã¯ GREE Advent Calendar 2013 ã® 18æ¥ç®ã®è¨äºã§ãããããããé¡ããã¾ãã ç§ãã°ãªã¼ã«å ¥ç¤¾ãã¦ãã£ã¦ãããã¨ã¯ãããã°ã©ãã³ã°è¨èª Scalaã¨ãã¡ã¤ã³é§åè¨è¨(以ä¸ãDDD)ã®å¸ææ´»åã§ããå¸ææ´»åã¨ãã£ã¦ã宣ä¼ããã ãã§ã¯å ·ä½æ§ã«æ¬ ããã®ã§ãå®éã«éçºãã¼ã ã«å ¥ã£ã¦ScalaãDDDã®æè¡æ¯æ´ãè¡ã£ã¦ãã¾ããæ¬ã¨ã³ããªã§ã¯ãScalaãç¨ããDDDã®è¨è¨ã¨å®è£ ãã©ã®ããã«è¡ã£ã¦ãããããDDDãç¥ããªã人ã§ãã§ããã ããããããã説æãããã¨æãã¾ã(Scalaããã£ã¦ããã¨èªã¿ãããã§ãããããã¾ãè¤éãªã³ã¼ãã¯åºã¦ããªãã®ã§ãªãã¨ãªãèªããã®ã§ã¯ãªããã¨æãã¾ã)ããªããDDDã®å®è·µä¾ã¯ä»ã«ãããã¾ããä¸ä¾ã ã¨æã£ã¦èªãã§ããã ããã°å¹¸ãã§ã(å æ¥ã®SNSãã¼ã ã§ã®ãã¡ã¤ã³é§
é¢è¥¿Javaã¨ã³ã¸ãã¢ã®ä¼'13 7æåº¦ çºè¡¨è³æ http://kanjava.connpass.com/event/2740/
ããã«ã¡ã¯ï¼ã°ãªã¼ãã©ãããã©ã¼ã ã§SNSã®éçºããã¦ãã¾ãããããã¼ã§ãï¼ GREE Advent Calendar 2013 6æ¥ç®ã§ãããããããé¡ããã¾ãï¼ ä»åã¯åãæå±ãããã¼ã ã§ã®ããã¡ã¤ã³é§åè¨è¨ãå®è·µãã¦ããéç¨ãã話ãããã¨æãã¾ãããã¡ã¤ã³é§åè¨è¨ã¨ã¯ä½ããã«ã¤ãã¦ã¯ç°¡åã«è¦æè¦æã§èª¬æãã¦ããã¾ããã詳ããã¯æ¬ã§ï¼ã¾ãããã¡ã¤ã³é§åè¨è¨ãã®ãã®ã«ã¤ãã¦ã®è©±ã§ã¯ãªããå®è·µã®ä¸ä¾ã¨ãªãã¾ãã ã¹ãã¼ãUIãã¿ã¼ã³ããã®ã¹ã¿ã¼ã ä»ååã®ãã¼ã ãæ±ã£ã¦ãããã®ã¯JavaScript製ã®ã¯ã©ã¤ã¢ã³ãã¢ããªã±ã¼ã·ã§ã³ã§ãAPIããåå¾ããæ å ±ã表示ããã¦ã¼ã¶ã¼ã®æä½ã«ãã£ã¦APIãå¼ã³åºããã¨ããããä¸è¬çãªãã®ã§ãã ãã¡ã¤ã³é§åè¨è¨ã«ã¯ã¢ã³ããã¿ã¼ã³ã¨ãã¦ãã¹ãã¼ãUIãã¿ã¼ã³ã¨å¼ã°ãããã®ãåå¨ãã¾ããç°¡åã«è¨ãã°ãè¦ãç®é½åããè¨è¨ãã¢ãã«ãèãã¦ãã¾ã£ããã¨ããç¶æ³
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ã¡ã³ããã³ã¹
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}