程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 用設計模式固化你的C#程序(6-1)

用設計模式固化你的C#程序(6-1)

編輯:C#入門知識

用設計模式固化你的C#程序(6-1)

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】

C++示例:【譯注:由於此例代碼相對復雜,故把類的聲明和定義分離開J】

state.h
#include "stdafx.h";
class State;
class VendingMachine;
class Start;
class Five;
class Ten;
class Fiftee;
class Twenty;
class State
{
public:
virtual void AddNickel(VendingMachine* vm) { }
virtual void AddDime(VendingMachine* vm) { }
virtual void AddQuarter(VendingMachine* vm) { }
protected:
virtual void ChangeState(VendingMachine* vm, State* s);
};
class VendingMachine
{
private:
State* state;

......

delete Start::Instance();//@
delete Five::Instance();//@
delete Ten::Instance();//@
delete Fifteen::Instance();//@
return 0;
}
/*以下是某次運行時輸出結果:
The Vending Machine is now online: product costs 25c
Credit: 0c
Insert a coin <5, 10, 25>: 5
Credit: 5c
Insert a coin <5, 10, 25>: 10
Credit: 15c
Insert a coin <5, 10, 25>: 5
Credit: 20c
Insert a coin <5, 10, 25>: 5
Dispensing product...Thank you!
*/

結論

設計模式吸取了在面向對象軟件設計中常見問題的解決方案的多年經驗之精華。不管項目規模如何,它們為大多數軟件開發人員碰到的問題提供了答案。C#提高了程序員的生產力,它加入了可以促進面向對象設計的特性,並減少了開發人員手工勞動負擔。二者結合,無往不利。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved