|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/design01/
课程评论:没有评论
Coursera 课程《设计模式1:学习设计模式的准备与类图和门面模式【C#】》摘要: 本课程是“设计模式”系列的第一部分,着重于学习设计模式所需的基础知识。首先,课程深入讲解了面向对象编程(OOP)的重要性,并将其与过程式编程进行了详细的对比,通过 Mario 和 Luigi 的游戏示例,展示了两种编程方式在实现绘图、移动和响应等功能上的差异。课程还探讨了子类、封装和可重用性等 OOP 的核心概念。 接着,课程转向 UML 类图的学习,详细介绍了类图的构成元素和绘制方法,包括类、抽象类、静态成员(通过斜体和下划线表示),以及如何表示类型、访问级别(public, private, protected)、继承(is-a)、接口实现、关联(has-a,包括聚合和组合)和依赖(use-a)。 最后,课程以门面模式(Facade Pattern)为本节核心内容,首先解释了门面模式的定义和作用,对比了有无门面模式的场景。课程演示了如何针对复杂的子系统实现门面,包括引入静态门面、优化文件夹 cấu trúc、封装类、控制子系统类可见性,以及如何通过门面模式封装一连串的操作逻辑。此外,课程还强调了通过 XML 注释为门面编写 API 文档的重要性,并探讨了使用接口实现门面的方式,包括创建虚拟门面替换实际代码。课程还讨论了静态风格和接口风格门面的选择,以及如何对部分功能进行门面化,并总结了使用门面模式带来的好处及注意事项。 本课程内容侧重于设计模式的学习准备,因此仅介绍了一个模式。讲师计划在后续课程中增加更多设计模式的内容,并以系列连载的形式发布,每次发布都有一定的体量。
どうもこんにちは,ピーコックアンダーソンです。今回はデザインパターンのコースの第1弾として,デザインパターンを学ぶ上で必要な,オブジェクト指向の必要性の理解と,UML:クラス図の解説をして,デザインパターンの本編として,ファサードパターンを解説しています。デザインパターン関連の本を改めて読み返し,深堀した内容を,C#のコードを実装しながら解説しています。デザインパターンを学ぶための準備に時間を割いている関係上,今回は本編のデザインパターンが1パターンになりましたが,次回以降は複数のパターンを収録しようと思っています。具体的に何パターン収録するというよりは,ある程度のボリュームになったらリリースする感じで,シリーズの連載をしていきます。どうぞお楽しみにしていてください。■デザインパターンとはデザインパターンとは■手続き型とオブジェクト指向型の違い#01_手続き型プログラミングとオブジェクト指向プログラミングの違い#02_マリオとルイージを動かすプログラム仕様#03_手続き型で実装_描画#04_手続き型で実装_右ボタンで移動#05_手続き型で実装_Aボタンで返事#06_オブジェクト指向で実装_描画#07_オブジェクト指向で実装_右ボタンで移動#08_オブジェクト指向で実装_Aボタンで返事#09_手続き型とオブジェクト指向の比較_手続き型の場合#10_手続き型とオブジェクト指向の比較_オブジェクト指向の場合#11_サブクラスの考察#12_カプセル化するということ#13_振る舞いをカプセル化するということ#14_再利用可能ということ■UML:クラス図の書き方#01_クラス図の概要#02_クラスの書き方#02B_抽象クラスと抽象メソッドは斜体にする.tscproj#02C_静的メンバーと静的メソッドは下線を引く#03_型の書き方#04_アクセスレベルの書き方#05_is-a_継承#06_is-a_インタフェースと実装#07_has-a_集約#08_has-a_コンポジション#09_use-a_依存#10_クラス図まとめ■ファサードパターン#01_Facadeパターンの定義#01B_ファサードが無い時_ファサードがある時#02_複雑なサブシステムに対して実装する#03_staticなファサードを導入する#04_フォルダー構成を工夫する#05_クラスをカプセル化するということ#06_サブシステム内のクラスの公開非公開#07_一連の手順があるロジックをファサードで吸収する#08_XMLコメントを書くことでファサードがAPIの仕様書になる#09_インタフェースを使ったファサードの実装方法#09B_ダミーファサードを作成して本番コードと差し替える#10_staticスタイルかinterfaceスタイルのどちらを採用するべきか#11_一部をファサード化する#12_ファサードを使うとどんないい事があったのか#13_ファサードの有効活用#14_ファサードの注意事項#15_ファサードまとめ