Jasper Blog

千里之行,始於足下

Agile Principles Patterns Practices in C# (10)

SOLID - 里氏替換原則

LiSkov Principle 子型態(Subtype)必須能夠替換掉它們的基底型態(base type) 當一個函式f(),他的參數為指向某個基底類別為B的參考,而假設B有衍生類

Agile Principles Patterns Practices in C# (9)

SOLID - 開放封閉原則

Open Closed Principle 軟體實體(類別、模組、函式等等)應該是可擴展的,但不可修改。 1. OCP概述 對於擴展式開放的(open for extension)。 這意味著模組

Agile Principles Patterns Practices in C# (8)

SOLID - 單一職責原則

Singel Responsibility Principle 單一職責原則 一個類別應該只有一個發生變化的原因 1. 範例說明 Rectangle 具有兩個方法,分別負擔以下兩個工作 draw(): 把舉行繪製在螢幕上 area(): 計算矩形的面積 有兩個

Agile Principles Patterns Practices in C# (7)

敏捷設計

Agile Design 什麼是敏捷設計 實際能滿足工程設標準的軟體說明文件,就只有原始程式碼清單 1. 設計臭味 Code Smell 設計臭味 僵化性 (Rigidity) 脆弱性 (Fragility) 頑固性 (Immobility) 黏滯性 (Viscosity) 不必要的複雜

Agile Principles Patterns Practices in C# (6)

一個真實的程式設計場景

設計和程式設計都是人的活動,忘記了這一點,就會失去一切。 對於設計初期UML圖的看法:「在準備戰役時,我發現計劃本身總是無用的,但是做計劃卻是