04ïŒã¯ãããŠã¹ããã¢ããªãäœã£ãŠã¿ãïŒèšèšãã§ãŒãºïŒ
åçš¿:
æŽæ°:

èšäºã®æŠèŠ
ãã¡ãã®äžèЧã®4ã€ç®ããèšèšãã§ãŒãºãã®èšäºã
- æ€èšãã§ãŒãºïŒã©ããªã¢ããªãäœããïŒ
- èŠä»¶ãã§ãŒãºïŒã©ããªèŠä»¶ã®ã¢ããªã«ãããïŒ
- 調æ»ãã§ãŒãºïŒã©ããªæè¡ã䜿ããïŒ
- èšèšãã§ãŒãºïŒã©ããã£ãŠäœããïŒãä»åã
- éçºãã§ãŒãºïŒå®éã«äœãã¯ãããïŒ
- å ¬éãã§ãŒãºïŒã¢ããªãå ¬éããïŒ
- ä¿å®ãã§ãŒãºïŒå ¬éããçŸåšãŸã§ïŒ
ãã€ãžã§ã¹ãã§èªã¿ããæ¹ã¯ãã¡ãã®èšäºãã
ãããã ãã®åºŠãçŽ äººãªããã¹ããã¢ããªéçºã«ææŠããŠã¿ããä»åã®èšäºã§ã¯æŠèŠãšçµç·¯ã«ã€ããŠæžãç¶Žã£ãŠã¿ãããå®éã«è¡ã£ãäœæ¥ã®è©³çްã¯ãå š7åã«åããèšäºãå¥éäœæ
ã€ã³ã¹ããŒã«ã¯ãã¡ãããã

ã¯ãããŠã®ã¹ããã¢ããªéçº èšèšãã§ãŒãº
ã¹ããã¢ããªã®èšèšãéå§ãã

ååã¯ãã¹ããã¢ããªéçºã«å¿ èŠãªãã¬ãŒã ã¯ãŒã¯ãèšèªããã®ä»ãµãŒãã¹ã決ããŠããéçšã«ã€ããŠæžããã
ãããŸã§ã§ãã©ããªã¢ããªãäœããããèŠä»¶ãã©ããããããã©ã®æè¡ã䜿ããããæ±ºãŸã£ããããããèšèšäœæ¥ã«çæããã
ã§ããéãèšèšäœæ¥ãé²ããéçºããŒã«ãç«ã¡äžããŠãããšãã¯ã³ãŒãã£ã³ã°ã«å°å¿µã§ããããæºåãé²ããŠããããã
å šäœã®ã¢ãŒããã¯ãã£ãèãã

ãã®æç¹ã§ããã£ãŠããããšã¯ããç»é¢æ§æããç»é¢é·ç§»ããåçš®æ©èœãã®3ã€ã
ãããèšèšã«èœãšã蟌ãã§ããã«ã¯ã©ãããã°ãããã
ä»åã®äœæ¥ãšäžŠè¡ããèšèšã«é¢ããæ å ±ãWebãæžç±ã§èª¿ã¹ãŠãã£ãã
ãã®äžã§ãèšèšäœæ¥ã«ãšãã«åœ¹ç«ã£ãã®ã以äžã
åèã«ãããŠã§ããµã€ã
åèã«ããæžç±
- ãªããžã§ã¯ãæåã®ãããïŒSOFTWARE PATTERNS SERIESïŒ
- ãã¡ã€ã³é§åèšèšå ¥éããã ã¢ããã§ãããïŒãã¡ã€ã³é§åèšèšã®åºæ¬
- Clean Architectureãé人ã«åŠã¶ãœãããŠã§ã¢ã®æ§é ãšèšèš
åæžç±çã®å 容ã«ã€ããŠã¯ãã¡ãã®èšäºã«ããŸãšããŠããã
ãã®åºŠãçŽ äººãªããã¹ããã¢ããªéçºã«ææŠããŠã¿ãŸãããä»åã®èšäºã§ã¯æŠèŠãšçµç·¯ã«ã€ããŠæžãç¶Žã£ãŠã¿ãããšæããŸããå®éã«è¡ã£ãäœæ¥ã®è©³çްã¯ãä»åŸããããèšäºãæžãããã¡ãã«ãªã³ã¯ã远èšããŸããäœã£ãã¢ããªãOneThirdãã®æŠèŠ æ¯æ¥ã®ç¡ç ãå ¥åã«ãã£ãŠèšé²ããã¢ããªã§ããå¯ãæéãèµ·ããæé
äžèªããŠãã¹ãŠãçè§£ã§ããããã§ã¯åœç¶ãªãã
ä»åã®äœæ¥å·¥çšã§å¿ èŠãªæ å ±ãã©ã®æ¬ã®ã©ãã«æžããŠããããããææ¡ãããã®éœåºŠãŠã§ãæ€çŽ¢ã§åšèŸºæ å ±ãåºããªããæŽ»çšããã
ãªãã·ã¹ãã ã¢ãŒããã¯ãã£ãçè§£ããŠããããã£ãã
ããããã°ã©ãã³ã°ãããéãã©ã®ãã¡ã€ã«ã«ã©ããªã³ãŒããæžãã°ãããè¿·ã£ããããªãã ãããã
ãã®ãããã¯èšèšã«é¢ããç¥èäžè¶³ã倧ãã«åœ±é¿ããŠããã®ã ãšæãããã
ããã¡ã€ã³é§åéçºããåèã«ãã

ä»åã®ã¢ããªã¯éåžžã«èŠæš¡ã®å°ããã¢ãã§ãªãŒããŒã¹ããã¯ãªæ°ããããããããã¡ã€ã³é§åéçºãããšãã«åèã«ããã
åå¿è ã®ããããæ£ãããã¡ã€ã³é§åéçºãå®è·µã§ããããã§ã¯ãªãããå ã«æããè¿·ããæããããã倧ããªå©ããšãªã£ãã
ãç¡ç èšé²ãä¿åããããšäžå£ã«èšã£ãŠããããèšèšãèãå§ãããšã
- ãã®æ¥ã®èšé²å¯Ÿè±¡ã®ç¡ç æéã®ç¯å²ã¯ã©ãããã
- èµ·åºæéã就坿éããéå»ã ãšãããã
- éè€ããæé垯ãèšé²ãããããªã
ãªã©ããã€ãã«ãŒã«ãå¿ èŠãªããšãåãã£ãŠããã
èŠä»¶ãããã°ã©ã ã§ã©ã衚çŸããã°ããã
å ·äœçã«èšããšãã©ã®ãã¡ã€ã«ã«æžãã°ãããè¿·ãããã ã
äžèšã®åèã«ããæžç±ã§ã¯ããããã£ãã³ã¢ã«ãŒã«ã¯ãDomainãã«æžããïŒãšããã
ä»åãçµæçã«2ã€ã®ããŒã¿ããŒã¹ãåãæ¿ããæ©èœãå®è£ ããã
ã§ã¯ãããŒã¿ããŒã¹ãšããåãããåŠçã¯ã©ãã«æžãã°ãããã
ãInfrastructureãã ã
ãããªå ·åã«ãã¢ããªã®åæ©èœãã«ãŒã«ãããã°ã©ãã³ã§ã©ã衚çŸããŠããããã·ã¹ãã ã¢ãŒããã¯ãã£ãå©ããŠãããã
ã¢ãŒããã¯ãã£ãèæ ®ããã¡ãªãã
ãŸããããã¡ã€ã³é§åéçºãããClean Architectureããåèã«èšèšãããšãåŸã ã®ã¡ã³ããã³ã¹äžå¯ã軜æžããã¡ãªããããããšããã
çŸæ®µéã§ã¯éåžžã«å°èŠæš¡ãªã¢ããªã ãããããåæãªã©ã®æ©èœè¿œå ãããéæãããã
äžå®å šã§ã¯ãããšæããä»åæ§ç¯ãããã®èšèšã¯ãåŸã ããããå©ããŠããããšæãã
ãã æåã¯ãã¯ãé£ãã
æ¬ã«æžãããŠããããšããå®éã«å£ã«ã¶ã€ãã£ãŠåããŠãã®å¿ èŠæ§ã宿ã§ãããããã
äžè¡ãã³ãŒããæžããã«èšèšãæŽç·ŽããããªããŠåå¿è ã«ã¯é£ããã
çè§£ã§ããªãã£ããšããŠãããã§æãæ¢ãããäœåºŠã§ãã€ãããäœãçŽãæ°æã¡ã§ãã£ãŠã¿ããšãããããããªãã
å人éçºã®è¯ãã®1ã€ã§ã¯ãªãã ãããã
å®éãããã¯ãããããªããŸãŸé²ããããããããšãïŒããšãªãã䜿ããã³ãŒãã¯æµçšããã€ãããäœãçŽãããšãäœåºŠãããã
ãããç¹°ãè¿ããçŽåŸã®ããèšèšã«è¿ã¥ããŠãã£ãã
å®éã«äœã£ãèšèšå 容ïŒã³ã³ããŒãã³ãå³ïŒ
以äžã¯ãä»åã®ã¢ããªãæ§æããã³ã³ããŒãã³ãå³ã
ãVisual Studioãã䜿çšããŠãããããå³ã®ãDomainããªã©ã¯ç¬ç«ããããããžã§ã¯ãããšããŠæ§æããã
ã³ã³ããŒãã³ãå³

Domain
- Domain Model
- ãã€ãããã€ãŸã§åœæ¥åãšãããšããäºåºŠå¯ã¯èšé²ã§ãããã©éè€ããæé垯ã¯ä¿åããªãããšãã£ãããžãã¹ã«ãŒã«
- Repository
- ã€ã³ã¿ãŒãã§ã€ã¹ãªã©ã
Application
XamarinåŽã®Coreãšãã¡ã€ã³ã®ã€ã³ã¿ãŒãã§ã€ã¹ãä»ããInfrastructureãšã®ããåããäžç¶ã
Core
Xamarin Formsã®commonãããžã§ã¯ããAndroidãiOSã®å ±ééšåãå®è£ ã
Androidã»iOS
åãã©ãããã©ãŒã ã«äŸåããéšåãå®è£ ã
Infrastructure
RealmãšCosomosDBãšã®ããåããå®è£ ã
ãŠãŒã¶ããã°ã€ã³ããŠããã°CosmosDBãããã§ãªããã°Realmã«æ¥ç¶ããã
Realmã¯SQLiteã®ãããªããŒã«ã«DBãæäŸããŠããã補åã
Tests
ãŠããããã¹ããããã«æžãã
ãã¹ã察象ã®ãããžã§ã¯ãæ¯ã«ãã©ã«ããäœãããã®äžã«ãã¹ããã¡ã€ã«ã眮ãã
ãVisual Studioãåºæã®è©±ãã«ãªãããåãããžã§ã¯ããæ§æããåç §ãè²Œãæ¹æ³ã¯ä»¥äžã®èšäºãåèã«ããã
C#ã§ãã¡ã€ã³é§åéçºPart2 - ããŒã³ãã¯ã¢ã³ããŒãœã³
#01_ãããžã§ã¯ãã®äœæ #02_ãããžã§ã¯ãã®è¿œå #03_äŸåé¢ä¿ #04_ãã¡ã€ã³é§åéçºã§Appli
VisualStudio2019ã«Prismã®ãã³ãã¬ãŒããã€ã³ã¹ããŒã«ã㊠MVVMã¢ãŒããã¯ãã£ãŒã§å®è£ ã
åãããžã§ã¯ãïŒã³ã³ããŒãã³ãïŒã®äžèº«ãèãã

ããã§ã¢ããªå šäœã®éªšæ Œãã§ããã
次ã¯ãåãããžã§ã¯ãã®äžèº«ãèããŠããã
æ¬æ¥ã§ããã°ãUMLããªã©ãæ±ããããŒã«ã§ããã¥ã¡ã³ããäœæããªããèšèšãé²ããŠããã¹ãããšæãã
ããããããã¥ã¡ã³ããã²ãšã€ã²ãšã€äœæããããšã¯ã§ããã°é¿ãããã
æçµçãªã¢ãŠããããã¯ã§ããã ãèªåçæã§ããããŒã«ãé Œãã
ãŸãã¯è©Šè¡é¯èª€
æé ãšããŠã¯ããŸãçŽãšãã³ãããŒã«ã§ãäœã§ãããã®ã§ã©ã®ãããªãã¯ã©ã¹ããå±éããŠããããèããã
ã¡ãªã¿ã«ãã®è©Šè¡é¯èª€ã¯ãdrawioããšããããŒã«ã䜿ã£ãã
WebçããŒã«ãšããŠå ¬éãããŠããããMicrosoft Storeããå ¥æããããšãã§ãã
äœå³ããŒã«ãdraw.ioãã®äœ¿ãæ¹ã解説ããŸãããdraw.ioãã¯ãããŒãã£ãŒãããªãã£ã¹ã®ã¬ã€ã¢ãŠããªã©å³ãäœæã§ãã髿©èœã®ããŒã«ã§ããé·æºãçªãšãã£ããªãã£ã¹ã¬ã€ã¢ãŠãåãã®å³åœ¢ããããœã³ã³ãã¡ãŒã«ãªã©ã®ã¢ã€ã³ã³ãè±å¯ãªã®ã§ãå°ãªãæéã§è³ªã®é«ãå³ãäœæã§ããŸããäŒå¡ç»é²ãäžèŠãªã®ã§ããã²ãã®æ©äŒã«å©çšããŠã¿ãŠã¯ãããã§ããããã
äž»ã«èããŠããããšã¯ãã¯ã©ã¹åããã®ã¯ã©ã¹ã®ç®çãå®è£ ããããããã£ãã¡ãœããã
äžæ°ã«å šäœãè¡ãã®ã¯ããã€ããŸãã¯Domainãããžã§ã¯ããä»äžããã
ããã§ã¯ä»ã®ãããžã§ã¯ãã§äœ¿çšããã€ã³ã¿ãŒãã§ã€ã¹ãèããŠããããšã«ãªãã
ãããŠæž æžã¯å®éã®ãœãŒã¹ãã¡ã€ã«ã«
ããçšåºŠãŸãšãŸã£ãããå®éã«Visual Studioã§ãã©ã«ããæ§æããã¯ã©ã¹ãã¡ã€ã«ãäœæããã
ãããŠãdrawioã§ã¡ã¢æžãã ã£ãå 容ããã¯ã©ã¹ãã¡ãœãããããããã£ã«ãXMLã³ã¡ã³ãããšããŠããã£ããæžãã
XML ããã¥ã¡ã³ãã®ã³ã¡ã³ããæ¿å ¥ãã - Visual Studio (Windows)
XML ããã¥ã¡ã³ã ã³ã¡ã³ããã³ãŒãã«æ¿å ¥ããæ¹æ³ãšã.NET ã¢ã»ã³ããªãšå ±ã«é åžããã³ã³ãã€ã©ã§çæããã XML ã³ã¡ã³ã ãã¡ã€ã«ãäœæããæ¹æ³ã«ã€ããŠèª¬æããŸãã
ãXMLã³ã¡ã³ããã¯ããdocfxããšããããŒã«ã§HTMLãã¡ã€ã«ã«åºåã§ããã
ã³ãã³ãã©ã€ã³ããŒã«ã ããéåžžã«äŸ¿å©ã§ãœãªã¥ãŒã·ã§ã³å šäœãã²ãšã€ã®ãŠã§ããµã€ãã«åºåã§ããã
ãŸããVisual Studioãã®æ©èœãšããŠãã¯ã©ã¹å³ãåºåããããšãã§ããã
Visual Studioã§ã¯ã©ã¹ã®ã³ãŒãããã¯ã©ã¹å³ãäœã
Enterpriseçã§ããã°äŸåé¢ä¿å³ãèªåã§äœæã§ãããã»ãããã©é«ãã
ã³ãŒãããã®äŸåé¢ä¿å³ã®äœæ - Visual Studio (Windows)
Visual Studio ã§ãã³ãŒãããã®äŸåé¢ä¿å³ãäœæãããœãããŠã§ã¢ ã·ã¹ãã ã®è«çã¢ãŒããã¯ãã£ã®æŠèгãå¯èŠåããŸãã
ãã®ä»ãè€éãªåŠçãèšèšããã·ãŒã±ã³ã¹å³ããdrawioãã§äœæããã
Visual Studioã¯éçè§£æãèµ°ããããšã©ãŒãèŠåãåºãŸããã
ããã§ã®ç®çã¯ãããŸã§ã¯ã©ã¹æ§æãã¯ã©ã¹ãã¡ãœããçã®åœåãªã©éªšçµã¿ãçµã¿äžããŠããããšãå šç¡èŠã§ä»äžããã
ãšã©ãŒçã¯å®è£ 段éã§ãã£ã¡ã朰ãã
ãŸãšã

å®è£ æã«ã¯ãå®è£ æ¹æ³ã«é ã䜿ãããã
ãã®ãããæ±ºãŸãã°ãã©ãã«ãå°å¿µã§ããæ°ãããã
åæ®µã§ãæžããããäžåºŠãå®è£ ããããšããªããã®ãæºäžã®èšèšã§ãŸãšããããã®ã¯ãšãŠãé£ããã
ãããã¯ãµã³ãããã°ã®ãããªä»®ãããžã§ã¯ãããã³ãã³äœã£ãŠã¯è©ŠããããŸãã®ãããžã§ã¯ãã®å±ãç¯ããªããäœæ¥ãé²ããã
次åã¯ãéçºãã§ãŒãºïŒå®éã«äœãã¯ãããïŒã«ã€ããŠãŸãšããäºå®ã
ã¯ãããŠã¹ããã¢ããªãäœã£ãŠã¿ã èšäºäžèЧ
- æ€èšãã§ãŒãºïŒã©ããªã¢ããªãäœããïŒ
- èŠä»¶ãã§ãŒãºïŒã©ããªèŠä»¶ã®ã¢ããªã«ãããïŒ
- 調æ»ãã§ãŒãºïŒã©ããªæè¡ã䜿ããïŒ
- èšèšãã§ãŒãºïŒã©ããã£ãŠäœããïŒãä»åã
- éçºãã§ãŒãºïŒå®éã«äœãã¯ãããïŒ
- å ¬éãã§ãŒãºïŒã¢ããªãå ¬éããïŒ
- ä¿å®ãã§ãŒãºïŒå ¬éããçŸåšãŸã§ïŒ