ç¾å ´ã®ã‚¢ãƒ¼ã‚テクãƒãƒ£ã®è©±ã‚’ã—ã¦ã¿ã¾ã›ã‚“ã‹ï¼Ÿ
目次
概è¦
DevLove関西主催ã®å‹‰å¼·ä¼š
変化ã¨ä¾å˜
・UIã¯ç†è§£ã—ã‚„ã™ãã€å¤‰åŒ–ã—ã‚„ã™ã„
é¡§å®¢ã®æ‹…当変更ã«ã‚ˆã‚Šç°¡å˜ã«ä»•様ãŒå¤‰ã‚る。
DBã®æ§‹é€ ç‰ã¯å¤‰ã‚らãªã„。
・Dataã®å¤‰æ›´ã¯Logic・UIã«å½±éŸ¿ã™ã‚‹
UIã®å¤‰æ›´ã¯Logic・UIã«å½±éŸ¿ã™ã‚‹ã¨ã¯é™ã‚‰ãªã„
・çµè«–ã€ãƒ‡ãƒ¼ã‚¿ã€ãƒ“ジãƒã‚¹ãƒã‚¸ãƒƒã‚¯ã‹ã‚‰é–‹ç™ºã—ã€UIã¯æœ€å¾Œã«ä½œã‚‹ã¨ã€
手戻りãŒå°‘ãªã„開発ãŒè¡Œãˆã‚‹ã€‚
・データã€ãƒ“ジãƒã‚¹ãƒã‚¸ãƒƒã‚¯ã€UI層を分化ã—ã€
UIã®å¤‰åŒ–ãŒä»–ã«å½±éŸ¿ã—ãªã„æ§‹é€ ã‚’ä½œã‚‹
「レイヤードアーã‚テクãƒãƒ£ãƒ¼ã€å‚ç…§
判æ–ãƒ¬ãƒ™ãƒ«ã®æŽ¨ç§»
アーã‚テクãƒãƒ£å“²å¦
・アーã‚テクãƒãƒ£ã¯é¸æŠžã®é›†åˆä½“
・アーã‚テクãƒãƒ£é‚ï¼è‡ªåˆ†ãªã‚‰ã‚³ã‚¦ã™ã‚‹
ã—ã‹ã—判æ–ã®æ ¹æ‹ ãŒå¿…è¦ã€‚ç«‹å ´ã€å½¹å‰²ã€ç›®çš„æ¯Žã«
「アーã‚テクãƒãƒ£ã®åˆ¤æ–指標ã€å‚ç…§
・トレードオフãŒå¿…è¦ã€‚
ã—ã‹ã—å¹³å‡ç‚¹ã¯é«˜ããªãã¦ã‚‚良ã„。
一部ã®é‡ç‚¹é …ç›®ãŒè‰¯ã‘れã°ä»–ã¯è¦æœ›ã‚’満ãŸã—ã¦ãªãã¦ã‚‚良ã„å ´åˆã‚‚ã‚ã‚‹
・目ã®å‰ã®è¦æ±‚ã«æƒ‘ã‚ã•れãªã„
・未æ¥ã«å…±æ„Ÿã›ã‚ˆ
・アーã‚テクãƒãƒ£ã®ç›®çš„ã¯ä¼ãˆã‚‹äº‹(未æ¥ã¸ã®ãƒãƒˆãƒ³)
アーã‚テクãƒãƒ£ã§ç”¨ã„る図ã§ã¯ï¼‘ã¤ã®è¦–点ã«é›†ä¸ã™ã‚‹
ä»–ã®è¦–点ã¯ä»–ã®å›³ã§è¡¨ã™
ãƒ»ãƒªã‚¹ã‚¯ã«æ•感ã«ãªã‚Œã€‚ã—ã‹ã—リスクをæã‚Œãªã„
・未æ¥ã‚’感ã˜ã‚。誰も教ãˆã¦ãれãªã„。
ãƒ»è‡ªåˆ†ã§æ„Ÿã˜ãŸæœªæ¥ã‚’ä¿¡ã˜ã‚
レイヤードアーã‚テクãƒãƒ£ãƒ¼
※ï¼ãƒ¬ã‚¤ãƒ¤åŒ–~/階層化~/多層~
処ç†ã‚’分類ã™ã‚‹
例
・OSIå‚照モデル
・MVC
MVCモデルã«ãŠã„ã¦ã¯
×:Controller > Model
○:Controller < Model
ã ãŒå…¨ã¦ã‚’Modelã«æ›¸ãã¨å¤§è¦æ¨¡ãªã‚¢ãƒ—リケーションã§ã¯çµå±€åˆ†ã‹ã‚Šé›£ããªã‚‹ã€‚
å„層ã®è²¬å‹™(ルール)を決ã‚ã‚‹
↓↑View(Routing)
 ※(1)ルーティング/èªè¨¼/フィルタリング
↓↑Controller
 ※(2)HTTPリクエスト/レスãƒãƒ³ã‚¹/ãƒãƒªãƒ‡ãƒ¼ã‚·ãƒ§ãƒ³/Serviceã®å®Ÿè¡Œ
↓↑Service
 ※(3)ビジãƒã‚¹ãƒã‚¸ãƒƒã‚¯å†…容ã§ã®æ¤œè¨¼/ビジãƒã‚¹ãƒã‚¸ãƒƒã‚¯
↓↑Model
 ※(4)DBアクセス
・処ç†ã‚’分離ã™ã‚‹
(1)~(2)ã§ã¯æ–‡å—ã®ä¸æ£æ¤œè¨¼ç‰ã®ã¿ã‚’行ã„ã€
(3)ã§ã¯ãƒ“ジãƒã‚¹ãƒã‚¸ãƒƒã‚¯ã¨ã—ã¦ã®æ¤œè¨¼ã‚’行ã†(åœ¨åº«æ•°ã‚„ç¤¾å“¡åœ¨ç±æœ‰ç„¡ç‰)
・æµã‚Œã‚’一方å‘ã«å›ºå®šã™ã‚‹
・クラス/メソッドåã¯ãƒ‰ãƒ¡ã‚¤ãƒ³ç”¨èªž
・ドメイン毎ã€ãƒ“ジãƒã‚¹ãƒã‚¸ãƒƒã‚¯æ¯Žã«åå‰ç©ºé–“を分ã‘ã‚‹
・サービスã‹ã‚‰ä½œã‚‹(ãã®å¾Œâ†’テスト→UI)
アーã‚テクãƒãƒ£ã®åˆ¤æ–指標
 セã‚ュリティ  |  性能  |  å¯ç”¨æ€§ã€€ |  発展性  | |
---|---|---|---|---|
 機能  |  ✔  |  ✔  |  ✔  |  ✔  |
ã€€æƒ…å ±ã€€ |  ✔  |  ✔  |  ✔  |  ✔  |
 並行性  |  ✔  |  ✔  |  ✔  |  ✔  |
 開発  |  ✔  |  ✔  |  ✔  |  ✔  |
 é…置  |  ✔  |  ✔  |  ✔  |  ✔  |
 é‹ç”¨ã€€ |  ✔  |  ✔  |  ✔  |  ✔  |