リバーシで学ぶアプリケーション設計入門〜仕様の整理からTypeScriptでの実装まで〜
「MVC」「3 層アーキテクチャ」「サービスクラス」「ドメインモデル」「クリーンアーキテクチャ」など、実務で遭遇してよく分からないとなりがちなアプリケーション設計の概念を学んで、アプリケーションエンジニアとしてステップアップしましょう!
Description
プログラミングの基礎を学び、アプリケーション開発に実践的に関わり始めると、「MVC」「3 層アーキテクチャ」「サービスクラス」「ドメインモデル」「クリーンアーキテクチャ」といった、なかなか理解できない単語に遭遇します。
これはいわゆる「アプリケーションアーキテクチャ」という分野の話で、アプリケーション開発に関わり始めると、誰もが突き当たる壁の一つです。
例えば...
「MVC」や「3 層アーキテクチャ」といった用語が、何を指していて、どんな関係なのかよく分からない
「Controller にビジネスロジックを書くな」と言われたが、ではどうすべきなのか、そもそも「ビジネスロジック」とは何なのか分からない
1 ファイルに大量のコードが書かれているのを見たが、どう改善すればいいのか分からない
「ドメイン駆動設計」や「クリーンアーキテクチャ」を学ぼうとしたが、なかなか理解が進まない
といったことはないでしょうか?
そこでこのコースでは、上記のような疑問を解消すべく、多くの方がふれたことのある「リバーシ」を題材として、TypeScript で実際にコードを書きながら、アプリケーション設計の基本を学びます。
このコースでは、リバーシのアプリケーションの開発を、アプリケーションの設計とも大きく関わる、仕様の整理や API・DB 設計の流れから始めます。
その後、まずはコードの設計方針がないまま実装を進めるとどんな問題が発生するのかを体験し、実装を改善しながらよく使われている様々な設計手法を学んでいきます。
キーワード
MVC、3 層アーキテクチャ、ビジネスロジック、サービスクラス、トランザクションスクリプト、ドメインモデル、レイヤードアーキテクチャ、クリーンアーキテクチャ
更新履歴
2023/05/12「(補足)asdf のセットアップについて」を追加
What You Will Learn!
- TypeScript の基礎知識と async/await を用いた非同期処理
- アプリケーションの仕様の整理や API・DB 設計の流れの例
- MVC や 3 層アーキテクチャなどの、アプリケーション設計の基本概念
- Table Data Gateway パターンや Repository パターンによるデータアクセス
- ビジネスロジックの概念と、ドメインモデルの設計・実装例
- 依存性逆転の原則を適用した、ドメイン層を中心としたアーキテクチャ
- QueryService を使った Repository の弱点への対応
Who Should Attend!
- 実務に入って「ビジネスロジック」や「サービスクラス」といった単語に遭遇し、何を指しているのか分からず困っている方
- アプリケーションのどこにどんなコードを書くのか、例を学びたい方
- 1 ファイルに大量のコードが書かれているのを見て、そのようなコードを改善する方針を学びたいと感じている方
- 「ドメイン駆動設計」や「クリーンアーキテクチャ」を学ぼうとしたが、なかなか理解が進まず困っている方