C#でドメイン駆動開発パート1【C#でドメイン駆動開発とテスト駆動開発を使って保守性の高いプログラミングをする方法】
Learn Domain-Driven Design with Repository, Entity, and Value Object implementation. Hands-on coding & TDD using Moq to build a complete application.
Course Content
C#でドメイン駆動開発パート1【C#でドメイン駆動開発とテスト駆動開発を使って保守性の高いプログラミングをする方法】 is an intermediate-level Udemy course taught by ピーコック アンダーソン. It runs 9h 10m, is taught in Japanese, and includes a certificate of completion. Learners rate it 4.2 out of 5 from 1,286 reviews, with 8,149 students enrolled. It is a paid course, last updated April 2024.
ドメイン駆動開発とテスト駆動開発を1週間でマスター!C#とSQLiteで実践
このコースでは、ドメイン駆動開発 (DDD) と テスト駆動開発 (TDD) の実践的な実装方法を、C# と SQLite を用いて、Windows Forms アプリケーションを作成しながら解説します。
こんな方を対象にしています:
- プログラマーとしてスキルアップを目指している方
- ドメイン駆動開発とテスト駆動開発を効率的に学びたい方
- 実践的な開発スキルを身につけたい方
- 保守性の高いコードを書けるようになりたい方
このコースで学べること:
- ドメイン駆動開発の基本:
- Repository (リポジトリ): データアクセス層を分離し、柔軟なデータ管理を実現します。
- Entity (エンティティ): 状態を持つオブジェクトとして、ビジネスロジックの中心を担います。
- Value Object (値オブジェクト): 識別子としてのみ意味を持つオブジェクトで、不変性を保ちます。
- テスト駆動開発の実践:
- Moq を使用したテスト駆動開発の具体的な手法を習得します。
- データベース周りのテストを容易にする方法を解説します。
- 全編テスト駆動開発で実装を進めることで、テストの重要性を理解し、実践的なスキルを身につけます。
- 実践的な開発スキル:
- Windows Forms でのUI開発の基礎を習得します。
- SQLite を用いたデータベース操作を学びます。
- データ表示、一覧表示、保存画面の実装を段階的に解説します。
- データバインディング を活用した効率的なUI開発を習得します。
- 高品質なコードの書き方:
- 良いコードと悪いコードの違いを理解し、潜在的なBADポイントを回避する方法を学びます。
- クラスの整理、区分のValueObject、インフラストラクチャー設計を習得します。
- ChainingAssertionなど、効果的なテストコードの書き方を学びます。
コース内容:
- はじめに: コースの概要と目標
- SQLite: データベースの基礎とSQLiteの導入
- ドメイン駆動開発とテスト駆動開発: DDDとTDDの概念と重要性
- 良いコードと悪いコード: コード品質の基準と改善点
- BADコード実装: 悪い例による問題点の理解
- BADコード改善: 改善策の実践
- 潜在的なBADポイント: 設計上の注意点
- テストコードの書き方: 効果的なテストコードの作成
- テストのしやすさを検討: テスト容易性のための設計
- BADコードの振り返り: 改善プロセスの確認
- アーキテクチャー: アプリケーション全体の設計
- プロジェクト構成: 効率的なプロジェクト構造の構築
- 最初のテスト: 最初のテストケースの作成
- Mockを使ったテスト: Moqによるモックオブジェクトの活用
- Entity: エンティティの設計と実装
- ValueObject: 値オブジェクトの設計と実装
- クラスの整理: クラス設計の原則
- 区分のValueObject: 識別子としてのValueObject
- インフラストラクチャー: データアクセス層の設計
- データバインディング: UIとデータの連携
- Moqの使い方: Moqの具体的な使用方法
- ChainingAssertion: テストコードの簡潔化
- コンボボックスへの変更: UI要素の操作
- SQLiteHelperで共通化: データアクセス処理の共通化
- 一覧画面の仕様: UI設計
- 一覧画面実装: 画面の実装
- Save画面の実装 (初期値): 保存画面の初期値設定
- Save画面の実装 (保存処理): 保存処理の実装
- Save画面の実装 (データバインディング): データバインディングの実装
- Save画面の実装 (SQLite実装): SQLiteとの連携
なぜこのコースを選ぶべきか?
- 実践重視: 実際に手を動かしながら、現場で使える知識を習得できます。
Need a web app built? Hire the team behind TutorialSearch.io
We ship fast, production-grade full-stack apps (Next.js, React, edge infra) — the same stack that powers this site.