fbpx

軟體架構:C#中的 Meta 和 SOLID 原則

如何讓產品/專案的 C# 程式碼有好維護、易擴充的程式架構?那麼你在團隊中需要推廣一下 SOLID 原則,在物件導向程式中,遵循 SOLID 這五項基本原則,可以幫助程式設計師寫出好維護、易擴充的程式架構,這堂課不僅僅是在講理論,講師 Elias 在 .NET 開發平台有 10 多年經驗,他會用實際的按理向你示範 SOLID 和 Meta 原則

報名參加課程

從這 5 小時的課程,你會學到

  • 確定一個類別是否負責太多事情
  • 應用 SRP 使類別更細化
  • 確定 OCP 違規所引發的重複怪味 ( smell of duplication )
  • 應用 OCP 來刪除或防止重複
  • 透過應用 ISP,讓客戶端的用戶體驗更愉快,使界面更加細化
  • 確定破壞客戶端程式碼的 LSP 違規
  • 應用 LSP 來實現合適的繼承
  • 應用 DIP 開發外掛( plugin )架構
  • 構建你自己的簡單 IoC 容器
  • 在 C#中建構乾淨的 API

要求

  • 堅實的 C#背景
  • 最少已參與過真實世界專案半年的經驗

說明

教學方法

沒有浮誇,沒有打高空,我尊重你的時間,盡量讓課程材料簡潔,但完整。 涵蓋所有重要的概念。特別重要的話題將被深入探討。對於絕對的初學者,如果需要,我可以免費提供 Skype 幫助

修這門課,你將會滿意的!

SOLID 是 SRPOCPLSPISPDIP 的縮寫。這五個首字母縮略詞代表:

  • 單一責任原則 ( Single Responsibility Principle 簡稱 SRP )
  • 開/關原則 ( Open/Closed Principle 簡稱 OCP)
  • Liskoy 替換原則 (Liskov Substitution Principle 簡稱 LSP )
  • 介面隔離原則( Interface Segregation Principle 簡稱 ISP )
  • 相依性反轉原則( Dependency Inversion Principle 簡稱 DIP )

在本課程中,你將學習如何應用 meta 和 SOLID 原則,以使你的應用程式能夠更健全永續。這意味著你將學習如何編寫高品質的程式碼:可讀、可理解和可靠。

提高你對物件導向程式設計方面的知識

  • 了解所有其它發展原則所依據的 meta 原則
  • 了解程式碼缺陷的症狀
  • 了解 SOLID 原理的基礎
  • 了解如何檢測違反 SOLID 原則以及如何解決問題
  • 了解 meta 原則和 SOLID 原則是如何相互關聯的,以及如何找到它們之間的平衡

編寫物件導向程式碼的基礎

儘管 C#語言的功能非常豐富,但是在真實世界中設計不良的應用程式非常普遍。語言本身並不能保證一個應用程式的架構必然良好。為了設計和建構可維護的軟體,我們需要了解軟體開發的原理。這個課程正是關於如何實現乾淨且可維護的軟體。

你可能已經聽到了以下眾所周知的敘述:大多數程式碼都很糟糕。那麼這個課程是關於如何生出品質優良的程式碼。

擁有能夠精心設計和實現良好軟體開發技能是其他開發人員將把你視為像樣的專業人士先決條件。

內容和概述

本課程針對中高級開發人員。需要在C#中有豐富的經驗

在本課程中有很多程式碼案例,你將同時學習理論和實踐。

從 SOLID 原則出發,我們將進一步推進 meta 原則。透過 SOLID 原則,你還將了解相關模式。然後我們將談及遇到不同原則之間矛盾的問題。你將了解 SOLID 原則和 meta 原則之間的關係。

一般來說,你將在本課程中學習:

  • SRP
  • OCP
  • LSP
  • ISP
  • DIP

在 SOLID 原則上,你將學習經由特定原則解決背景問題,你將在程式碼中看到示範,你將會了解每種原理的相關模式

學習 DIP 後,你還將學習什麼是相依注入(Dependency Injection)、反轉控制(Inversion of Control)、IoC-Containers 以及 DI 的架構含義。

以下是其它你將在課程中學到的主題:

  • DRY -一個規則,實現一次 (don’t repeat yourself)
  • KISS – 務求簡單,簡單到不必用大腦的地步(keep it simple stupid)
  • YAGNI – 你將不需要它(You Ain’t Gonna Need It) 只需要將應用程式必需的功能包含進來,而不要試圖添加任何其他你認為可能需要的功能
  • SoC – 關注點分離(Separation of concerns,SOC)
  • CQS – 命令查詢分離(command query separation)
  • Demeter 法則
  • 最小驚奇原則(Principle of Least Astonishment 簡稱 POLA)
  • 資訊隱藏和封裝
  • API 發展原則
  • SOLID 和 YAGNI 之間的矛盾
  • OCP 與 YAGNI 之間的矛盾
  • 什麼是架構與設計

這門課程多長時間:課程約4.5小時都是視訊講座。你將能夠下載課程中使用的所有幻燈片和程式碼範例。


與課程相關的關鍵詞

  • Software Architecture
  • Software Design
  • SOLID Principles
  • SRP, OCP, LSP, ISP, DIP

目標受眾

  • 具有堅實的C#基礎背景
  • 想要自我學習與進階的中級開發者,更清楚理解 SOLID 原則和架構
  • 資深開發者想要回顧自己已知道什麼、還缺什麼

講師介紹

Engineer Spock 軟體工程師

我極為感謝我可以做自己喜歡的事

作為參加 Microsoft ImagineCup 大賽的研究生時,我開始了我的職業生涯。

自2003年以來,我一直在使用.NET平台。我已經專業地建構和開發了近7年的軟體,主要基於.NET平台。我熱衷於使用現代技術來開發豐富而強大的應用程式。我是 Microsoft 的 Windows 應用程式和服務通訊應用程式的認證專家。我是莫斯科 MSK.NET 用戶組的協調員之一。

“如果這是個工作,我們試著少做些,如果這是藝術,我們試著做更多。” – Seth Godin。

我可以確認的是軟體對我來說是藝術。


報名參加課程|更新優惠折扣碼

Sponsored by Udemy

你可能會有興趣

 歡迎使用 e-mail 訂閱 Soft & Share 

Spread the love

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料

Powered by WordPress.com.

Up ↑

%d 位部落客按了讚: