C 實現設計模式應該不拘一格

2022-03-03 02:24:10 字數 557 閱讀 7393

如同每個人都有其個性一樣,每種開發語言也有自己的個性。

專案中,我們固然可以機械地將一種語言的開發經驗套用到另一種語言,但效果不一定好,因為:

·語言有自己的短處:用短處去實現不僅費時費力,結果也不理想

·語言有自己的長處:但為了沿用以前的經驗削足適履,沒有用到語言的精要,結果是暴殄天物

相信你也發現了,用乙個語言寫hello world是一回事、寫乙個應用是一回事、寫好乙個應用則完全是另一回事,這就是工程化**和「玩具」**的區別。教科書上的知識落實到工程不能按圖索驥,需要考慮開發語言和目標環境,設計模式也不例外。

也許你會覺用泛型、委託、事件、屬性、配置檔案等方式實現與《設計模式》介紹的內容不一致,但別忘了《設計模式》一書出版至今已近20年,其間無論是開發語言還是技術平台已經「換了人間」,gof 23個模式的思想不僅影響著我們更影響著走在技術前沿的語言設計者、平台設計者,他們也在工作中潛移默化的把模式思想融入自己的工作成果,作為使用者我們「推卻」別人的盛情,所有事情都從「車輪」做起,多少有點不經濟。

專案中,我們應該用最「c#」的方式將自己對於設計模式的理解鑄入自己的成果,而且實現上務求簡潔、直接。

不拘一格程式設計序之二

題目 乙個陣列int a 10 要求為每個元素隨機賦值0或者1,但是這10個元素不能全0,也不能全1。方法一 隨機產生10個元素,如果都是0,或者都是1,就重新生成。其中如何判斷都是0,還是都是1?方法一.方法一 用變數n1標誌全0,n1 0表示非全0,n1 1表示全0。用變數n2標誌全1,n2 0...

不拘一格程式設計序 迴圈列印演算法

不拘一格程式設計序之一 迴圈列印演算法 中經常有人說某某將領打仗天馬行空,不拘一格,讓敵人防不勝防,比如 尋秦記 中的李牧 比如 大唐雙龍傳 中的寇少。程式設計序時也要有怎樣的思想,不能被條條框框所束縛,比如這個例子 例1 編寫乙個函式void fun int t 要求在螢幕上列印t個 號,其中t的...

變數取值交換的方法 不拘一格程式設計序之三

不拘一格程式設計序之三 變數取值交換演算法 題目 已知兩變數a和b,設計乙個演算法,交換a與b的值。方法1 最傳統,最廣泛,最著名的方法,增加乙個變數,如下 方法2 不增加第三個變數,交換a和b的值,如下 分析,設a和b的原始值為a,b 執行 變數a 變數b int a,b a b a a b a ...