Design Patterns: Solidify Your C# Application Arch
來源:互聯網
上載者:User
Design Patterns: Solidify Your C# Application Architecture with Design Patterns中文版(尾篇一) optimizer(翻譯)
關鍵字 設計模式 singleton strategy decorator composite state
出處 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnmag01/html/PATTERNS.asp
Design Patterns: Solidify Your C# Application Architecture with Design Patterns中文版(尾篇一)
作者:Samir Bajaj
譯者:榮耀
【譯序:C#進階文章。譯者對Samir提供的C#例子進行了簡單整理(作者提供的某些代碼在譯者的環境中無法通過編譯),並編寫了對應的C++樣本,一併置於譯註中,以便讀者比對。譯文中所有C#、C++程式調試環境均為Microsoft Visual Studio.NET 7.0 Beta2】
【譯註:以下是state模式完整樣本
C#樣本:
using System;
abstract class State
{
public virtual void AddNickel(VendingMachine vm) { }
public virtual void AddDime(VendingMachine vm) { }
public virtual void AddQuarter(VendingMachine vm) { }
protected virtual void ChangeState(VendingMachine vm, State s)
{
vm.ChangeState(s);
}
}
class VendingMachine
{
private State state;
public VendingMachine()
{
Console.WriteLine("The Vending Machine is now online: product costs 25c");
state = Start.Instance();
}
public void ChangeState(State to)
{
state = to;