Home
R
Cancel

[C# 筆記] 一切的祖宗object類

Object 類型 對於 C# 中所有class,默認的父類或是最終基都是 Object類(System命名空間下,簡寫為object) System.Object --------------- string ToString(); System.Type GetType(); int GetHashCode(); bool Equals(); string ToStrin...

[C# 筆記] JSON 介紹

JSON 語法規則 數據在鍵值對中 "key":"value" 數據由逗號分隔 "key1":"value1","key2":"value2" 大括號保存對象 "employees":[{對象1},{對象2},{對象3}] 方括號保存陣列 "employees":[陣列] { "employees":[ { "firstName":"JJ", "...

[C# 筆記] 枚舉(列舉) Enum

什麼是列舉 就是「一一列舉」的意思 在計算機領域,被稱作為 enumerate,表示一個常數的集合 一周7天:Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday 在 C# 中,我們通常使用關鍵詞 enum來聲明一個列舉類型。 比如說,我們現在來聲明一周 Weekday 的類型: enum Wee...

[C# 筆記] 結構 Struct

Struct 結構體 Struct 結構與 Class 相似卻不一樣,結構體是一種「值類型」的數據類型。 [訪問修飾符] struct 結構體的名字 { 結構體成員 } 舉例:遊戲結構體 struct Game { public string name; public string developer; public DateTime releaseD...

[C# 筆記][UnitTest] 介面與單元測試

單元測試是自動化測試的一個部分,基本原理就是我們寫程式碼來測試自己的程式碼。 新建 MSTest 測試專案 方案 > 新增專案 > 測試 > MSTest 測試專案 MSTest 測試專案:微軟開發的測試框架 專案命名規則:「專案名稱.UnitTests」 (Test是複數要加s,Tests),HelloWorld.UnitTests 類別與方法重新命...

[C# 筆記][IOC][DI][介面導向] 反轉控制 vs 依賴注入 -操作

前言 使用之前的程式碼:[C# 筆記] Interface 接口(介面)實現 通過程式碼實戰,創建一個「反轉控制容器」,來進一步降低「訂單系統」和「價格系統」的耦合關係,直到把它們之間的關係降至為零。 先來觀察目前的程式碼結構: 首先我們會手動使用「介面」來創建「價格計算器」 然後「訂單處理器」初始化的時候,把「價格計算器」作為參數傳遞給這個「訂單處理系統」 最後在「訂單處...

[C# 筆記][IOC][DI][介面導向] 反轉控制 vs 依賴注入 -理論

依賴注入 DI 依賴關係注入(DI - Dependencies Injection) 是一種軟體設計模式 在類別似其依賴項之實現控制反轉(Ioc)的技術 可以實現類似系統配置、日誌記錄和選項模式等功能的解耦 反轉控制Ioc vs 依賴注入DI 在軟體開發過程中,每個系統都是由若干個對象(物件)構成的,不同的子系統,不同的業務模塊互相組合,互相作用的結果。 每個系...

[C# 筆記][IOC][DI][介面導向] 用戶管理(重構+介面)

[C# 筆記] 用戶管理(重構) 用戶系統-用戶登入 User 表單系統-顯示表單 Menu 控制系統-流程控制 CMSController User isUserLogin從「成員變量」改為「成員屬性」 改成屬性有什麼好處呢?我們的 User就可以通過接口(介面)來對 IsUserLogin這個屬性來進行訪問了。 public class User : I...

[C# 筆記] 接口(介面) vs 多態(多型)

一句話總結:「接口(介面) 」與繼承沒有關係。 不過,通過「接口(介面) 」我們就可以實現一些「接口(介面) 」的現象,比如說「多態(多型)」。 在程序中,一個技能取代的就是一個「接口(介面) 」。 舉例 訂單處理系統 OrderProcessor 郵件通知系統 MailService 下面例子,問題出在這裡,「訂單處理系統」跟「郵件通知系統」是直接的依賴關係,這將會極...

[C# 筆記] Interface 接口(介面)實現

[C# 筆記] Interface 什麼是接口(介面)? OrderPressor --> IPriceCalculator 訂單處理系統 依賴於 價格計算接口(介面) IPriceCalculator --> Price_1111 (雙11價格計算系統) 價格計算接口(介面) --> Price_618 (618價格計算系統) ...