在四人幫 (GoF) 的設計模式 (Design Patterns) 一書中,最容易被用到的模式,非策略模式 (Strategy Pattern) 莫屬了,不過也就是因為它太容易被用到,它也是很容易被誤會的一種設計模式,特別是和多型 (Polymorphism) 的混淆。
[.NET][Design Patterns] 容易被誤會的 Strategy Pattern
- 4098
- 0
- Design Pattern
在四人幫 (GoF) 的設計模式 (Design Patterns) 一書中,最容易被用到的模式,非策略模式 (Strategy Pattern) 莫屬了,不過也就是因為它太容易被用到,它也是很容易被誤會的一種設計模式,特別是和多型 (Polymorphism) 的混淆。
因為最近分層架構的流行 (拜三隻豬之賜?),愈來愈多人談論起 Repository 的設計,也開始有人認為 Repository 無用,說實在的,Repository 有用於否,存乎一心,當你認為它有用時,隨手寫了它也不會覺得奇怪,但如果一開始就認為它是多餘的,就算人家給你程式產生器,你還是會認為它是多餘的。
現在網路和分享這麼發達,你可以很容易的搜尋到很多公司或人分享出來的系統架構,舉凡 Stackoverflow、淘寶、百度或是其他公司實作一個解決方案的整體架構,用來當參考架構 (Referential Architecture) 是很棒的藍圖,不過它就只是個 "藍圖",你所不知道的是他們花了多少錢去做,或許一個人用雲端也可以做到,但是並沒有減少它應有的成本,就像你不可能妄想用一台 VM (裡面即使跑得動十萬台 Docker Container) 來服務一億個使用者一樣。
Cloud Computing在2008年出現後,已經成為資訊產業的焦點領域,各大主流廠商無不投入雲端運算的領域中,台灣的主要軟硬體與系統商(趨勢科技、英業達等)也投入大量人力與資本到雲端運算的市場中,工研院也發展了自己的雲端作業系統Cloud OS 1.0進入雲端領域中,Google, Amazon與Microsoft更是不斷的擴充與強化自己的雲端運算實力,以吸引不同的產業與廠商進入雲端的世界。不過雲端運算的思維和一般應用程式有著極大的不同,若應用程式的開發人員無法理解雲端與一般應用程式的差異時,很容易設計出只使用雲端一點點資源的一般應用程式而已,完全無法發揮雲端運算的威力...
Web Service,這個從 2001 年開始被微軟炒起來的分散式元件概念,隨著 Visual Studio 2002 (.NET Framework 1.0) 的推出得到了軟體龍頭微軟的背書,一個原本要從 SOAP 和 XML 開始打造的可重覆使用 (reusable) 式軟體元件就在 .NET Framework (System.Web.Services 命名空間) 的精美包裝下,讓開發人員只需要使用 [WebMethod] 就能夠寫出自己的 Web Service 元件...