以前上過設計模式的課程,後來複習的時候做了不少範例,但是後來實戰上缺都只用到幾種樣式而已,想說再把設計模式再加強一點,開始讀了一本簡體書"大話設計模式",是使用C#來撰寫的,然後想起了這個部落格,就也順便紀錄一下。
(其實已經花時間把書都看完且範例都做出來了,但是還是做個總整理,順便讓腦袋內的設計模式重構一下)
此書是用故事模式引導閱讀者進入狀況,然後再將故事內容導出設計模式,將現實與程式連結在一起後更好理解設計模式的箇中滋味。
在正式開始介紹設計模式之前先將一些基本知識寫在這篇,之後將會一篇文章介紹一個設計模式。
統一塑模語言(Unified Modeling Language)
1.類別圖(Class Diagram)
類別名稱 : 加法
屬性1 : 數值1
屬性2 : 數值2
方法1 : 加法(建構式)
方法2 : 計算結果
有一個類別名稱叫"加法",它擁有兩個私有屬性分別是數值1和數值2,它有兩種方法,一個是建構式填入數值1、2,另一個是取得計算結果。
程式範例 :
public class Addition
{
private double num1;
private double num2;
public Addition(double num1, double num2)
{
this.num1 = num1;
this.num2 = num2;
}
public double GetResult()
{
return num1 + num2;
}
}
2.繼承(inherit)
爸爸有痛風,兒子繼承了爸爸的基因,兒子也會痛風發作
程式範例 :
public class Father
{
public void Gout()
{
MessageBox.Show($"{this.GetType().Name} 痛風發作了!");
}
}
public class Son : Father
{
}
3.組合(Composition)
課程一定會有老師上課
程式範例 :
public class Course
{
private Teacher teacher;
public Course()
{
teacher = new Teacher();
}
}
public class Teacher
{
}
4.聚合(Aggregation)
課程可以有0個學生到多個學生
ex1:昨天的課程有40個學生上課
ex2:今天的課程沒有學生到課
程式範例 :
public class Course
{
private List<Student> students;
}
public class Student
{
}
5.依賴(Dependency)
動物必須要有水才能活著(動物類別沒有水類別就無法建立)
程式範例 :
public class Animal
{
public Animal(Water water)
{
}
}
public class Water
{
}
這篇就先介紹到這,寫文章真D累。
新手上路,若有錯誤請不吝嗇指教,謝謝。