C#でドメイン駆動開発 パート2

所在平台: Udemy

课程主页: https://www.udemy.com/course/domain-2/

课程评论:没有评论

第一个写评论        关注课程

课程简介

本课程是“使用 C# 进行领域驱动设计”系列的第二部分。它在前作的基础上,重点讲解了如何组织和安排代码结构,特别是涉及 ValueObject、Entity 和 Repository 之外的各种类的放置位置。 课程内容涵盖: * **项目结构与依赖管理:** 如何创建项目、添加项目引用以及管理依赖关系。 * **领域驱动设计(DDD)的应用程序层:** 探讨在 DDD 中是否需要应用程序层。 * **文件夹结构优化:** 深入讲解 Domain、Infrastructure、WinForm、Tests 等各层的文件夹组织方式,以及 Timer 事件等特殊情况的处理。 * **测试驱动开发(TDD):** 准备 TDD 环境、编写测试代码、添加 ViewModel,以及创建 Mock 对象。 * **UI 开发与数据绑定:** 学习创建窗体界面、控件数据绑定,以及使用 Fake 数据进行界面展示和数据通知。 * **Fake 数据与数据库切换:** 实现 Fake 数据与真实数据库值之间的切换,并通过配置文件进行管理。 * **代码生成与工厂模式:** 创建有助于代码生成的工厂类,并设置访问限制。 * **调试与发布配置:** 使用 `#if DEBUG` 等方式区分调试和发布模式,以及清晰展示调试状态。 * **共用类与登录功能:** 创建 Shared 类,实现登录 ID 的记忆和 BaseForm 中登录用户的显示。 * **Value Object 的深入应用:** 讲解 Value Object 的创建、抽象类的使用以解决相等性问题,以及将业务逻辑放入 Value Object。 * **领域实体与数据管理:** 创建 MeasureDate、MeasureValue 等,并讲解面向对象自动化的实现。 * **Repository 的具体实现与异常处理:** 完成 Repository 的具体类,并进行详细的异常处理,包括自定义异常、Inner Exception、异常缺点分析、消息区分、错误处理共通化和日志输出。 * **Timer 和其他辅助逻辑:** 讨论 Timer 的放置位置,创建 Timer 类,以及 Logics、Helpers、Module 等辅助类。 * **事务管理:** 探讨事务应放置在何处。 通过本课程的学习,您将能够更有效地组织 C# 项目代码,提升代码的可维护性和可测试性。

课程评论(0条)

课程详情

どうもこんにちは。今回のコースはC#でドメイン駆動開発の第2弾,パート2という位置付けのコースです。なので,前作,「C#でドメイン駆動開発とテスト駆動開発を使って保守性の高いプログラミングをする方法」受講者が対象です。そちらを見ていない方は,まずはそちらを受講してから,本コースを受講してください。前作との違いは,今回は,どのクラスをどこに置くか?について徹底的に解説しています。ValueObject,Entity,Repository以外にもアプリケーションを作成すると,色々なクラスが必要になります。それらの生まれるクラスをどのように配置するべきかをこのコースでは解説しています。ぜひ楽しみに見てください。#00_はじめに#01_プロジェクトの作成#02_プロジェクトの追加#03_依存関係#04_ドメイン駆動開発でApplication層は必要?#05_Domainのフォルダー構成#06_Infrastructureのフォルダー構成#07_WinFormのフォルダー構成#07_2_タイマーイベントはどこに入れる?#08_Testsのフォルダー構成#09_テスト駆動で実装するための事前準備#10_テストコードとViewModelの追加#11_テストコードを追加する#12_Repositoriesフォルダーの作成#13_Entitiesフォルダーの作成#14_Mockの作成#15_フォーム画面の作成#16_画面のコントロールデータバインドする#17_Fakeを使ってタミーデータを画面に表示させる#18_Fakeデータを画面に通知する#19_PropertyChangedの方法を変更する#20_Fakeとデータベースの値を切り替える方法#21_Sharedクラスを作成する#22_クラスを生成するファクトリークラスを作る#23_#if DEBUGでFakeデータがリリースされないようにする#24_DEBUGモードであることをわかりやすくしておく#25_Factories以外から生成できないようにしておく#26_Factoriesの呼び出しはViewModelで行う#27_外部の設定ファイルの値で判断する#28_Fakeデータを切り替える方法#29_FakePathを設定ファイルとSharedに移す#30_Fakeデータのバリエーション#31_Shareクラスの活用方法#32_ベースフォームを作る#33_SharedにログインIDを記憶する#34_BaseFormでログインユーザーを表示する#35_ValueObject#36_ValueObjectを作成する#37_抽象クラスValueObjectを使用してイコールの問題の解消#38_AreaIdにビジネスロジックを入れる#39_AreaIdクラスをEntityに乗せる#40_MeasureDateの作成#41_MeasureValueの作成#42_オブジェクト指向の自動化#43_Repositoryの具象クラス#44_例外処理#45_例外の作成#46_インナーエクセプション#47_例外の欠点#48_メッセージの区分#49_エラー処理の共通化#50_ログの出力#51_タイマー処理はどこに置く?#52_タイマークラスの作成#53_StaticValues#54_Logics#55_Helpers#56_Module#57_トランザクションはどこでかける?

课程标签

0人关注该课程

主题相关的课程