image
(1) receiver: 知道如何執行該命令
 1: class Receiver
 2: {
 3: public void Action(string action)
 4: {
 5: Console.WriteLine("{0} 動作執行", action);
 6: }
 7: }

me1237guy 發表在 痞客邦 留言(0) 人氣()

image
              
 1: public interface IRotate
 2: {
 3: void Rotate();
 4: void PyrmidDown();
 5: void PyrmidUp();
 6: }

me1237guy 發表在 痞客邦 留言(0) 人氣()

image
Orgnization類別繼承ICloneable interface,因此需實作 object Clone();  

me1237guy 發表在 痞客邦 留言(0) 人氣()

image
半年前寫過應用裝飾模式於影像處理函式,溫故知新後想嘗試重新翻寫,希望對於正在學習裝飾模式的同好有所助益! 在上一篇 裝飾模式應用: 使用C#,提到三個類別Building、Furniture(Building子類別)、及繼承Furniture子類別,透過裝飾模式方式,讓客戶端可以任意順序裝飾物件,搭配不同資料型態儲存如陣列或List(長度可不固定),這篇將利用裝飾模式應用於影像處理步驟組裝。

me1237guy 發表在 痞客邦 留言(0) 人氣()

image

Building父類別
 1: class Building
 2: {
 3: public Building() { }
 4: private string name;
 5: public Building(string name) { this.name = name; }
 6:  
 7: public virtual void Show()
 8: {
 9: Console.WriteLine(" {0} 附贈家具", name);
 10: }
 11: protected Building component;
 12: public void Decortate(Building component)
 13: {
 14: this.component = component;
 15: }
 16: }

me1237guy 發表在 痞客邦 留言(0) 人氣()

image

使用狀態模式有幾個優點 1. 切換狀態使用傳統switch…case…當你判定條件非常多時會讓你的程式碼變得超長,這時不妨考慮將每個狀態判定條件改成一個一個狀態物件,每一種case狀態類別是繼承一個抽象類別State,藉由StateManager類別來決定下一個狀態或是前一個狀態為何。 2. 可以隨時新增(插入)一個新狀態,如果是傳統switch…case…會讓你找老半天符合條件的位置,才能決定插入新的case位置。 3.  狀態模式可以只看你感興趣的狀態類別,修改其下一個狀態或是前一個狀態為何。其他不相干的狀態就不會一直用滑鼠滾輪和眼睛過濾,哈哈...。

me1237guy 發表在 痞客邦 留言(0) 人氣()

image
加入label和comboBox 加入類別 States.cs

me1237guy 發表在 痞客邦 留言(0) 人氣()

image
放入三個button和一個panel元件 待會利用三個按鈕點擊去動態載入不同模組(即使用者控制元件) 專案加入使用者控制元件(User Control)

me1237guy 發表在 痞客邦 留言(0) 人氣()

image
1. Line5~8:宣告四種委派定義(加、減、乘、除) 2. Line9~12: 四個委派物件(加、減、乘、除) 3. Line16~19: 在MultiplyUC()創建子階段就初始化四個物件,以匿名函式實體化之。

me1237guy 發表在 痞客邦 留言(0) 人氣()

image
Delegate為委派,Invoke表示要呼叫所指定的方法(method),第二個為傳入參數陣列 MyFormControl繼承Form 1. Line 3: 宣告委派:delegate void AddListItem(String myString),表示需要傳入一字串無回傳值。 2. Line4: 宣告委派:delegate void ClearListItem(),表示無參數輸入且無回傳值。

me1237guy 發表在 痞客邦 留言(0) 人氣()

image 
(1) 先自訂義事件資料類別ThresholdReachedEventArgs, 其繼承EventArgs
該類別存在兩個公開方法,分別記錄門檻值和達門檻值時間



// (1) 自訂義事件資料(event data)
 public class ThresholdReachedEventArgs : EventArgs
 {
 public int Threshold { get; set; }
 public DateTime TimeReached { get; set; }
 }

me1237guy 發表在 痞客邦 留言(0) 人氣()

image
http://store.steampowered.com/about/

C:\Program Files (x86)\Steam

me1237guy 發表在 痞客邦 留言(0) 人氣()

Blog Stats
⚠️

成人內容提醒

本部落格內容僅限年滿十八歲者瀏覽。
若您未滿十八歲,請立即離開。

已滿十八歲者,亦請勿將內容提供給未成年人士。