回答
只崩潰軟件: http://www.usenix.org/events/hotos03/tech/full_papers/candea/candea_html/ 摘要
崩潰,只有程序崩潰安全,快速恢復。只有一種方法可以通過啓動恢復功能來阻止此類軟件(通過崩潰),並且只有一種方法可以將其啓動。只有崩潰的系統是由只有崩潰的組件構建的,使用透明的組件級重試會隱藏最終用戶的系統內部組件崩潰。在本文中,我們主張爲互聯網系統設計一個只有崩潰的設計,表明它可以導致更可靠,可預測的代碼和更快,更有效的恢復。我們提出關於如何構建這種僅基於崩潰的Internet服務的想法,並將成功的技術應用到其邏輯極端。
不,這是關於DP書和這個線程是關於特定的模式。
口譯員和飛錘從四人幫的書中浮現出來。
我認爲在Sw開發人員的工具箱中,Bridge和Mediator功能強大而且深沉。
它更像是一種反模式,但我已經看到了我稱之爲「將它保留在一個地方」的模式。這是一個很大的應用程序,對於每個類,每個類,所有不是本地的變量都存儲在一個名爲P(用於參數)的類中。順便說一下,所有的靜態變量都保存在一個叫......等待的類中...... S.
無論如何,一些如何,這個項目變得相當大,突然之間,沒有任何工作。 (這段時間我受僱了)。令人驚訝的是,該程序沒有崩潰,它只是有很多的副作用,使應用程序運行扭曲。正如你可以想象的,多線程,全部訪問P和修改變量,沒有鎖定或同步。
我告訴你,這確實是一個看得見的景象。
該公司新開了一間辦公室,並聘請3人員工,我是其中之一。我們給予該計劃並告知解決該問題。我們花了幾天的時間坐在sla our我們的前途。現在我的臉上有一張透明的掌紋。
其他funnies ...名爲「fudgeFactor」的變量。仍然不知道做了什麼。
方法來獲得下一個ASCII字符...
char getNextChar(char previous) {
switch (previous)
case 'a': return b;
case 'b': return c;
...
case 'z': return a;
}
無論如何,這是我的有趣圖案......有一些額外的側滑稽拋出。
提醒我一些關於「日常跆拳道」的帖子:-) – 2008-09-19 20:47:23
訪客工作時卡住我的第一次一個圖形沉重的程序,作爲在複雜結構上進行操作的非常優雅的方式。
除了mvc(本身不是一個pattenr),這是關於它的複雜性和解決問題的潛力的「模式之王」。
福勒的Fluent Interface是一個相當有趣的模式。我對「抽象工廠」,「策略」和「國家模式」一直有一個很好的理解。
如果可以的話,我最近編寫了一個「模式」,我稱之爲Friend Class Pattern,有些人可能會發現有趣或有用的限制私人字段訪問器在沒有C++風格的朋友類的語言中的可見性。
嗯,流利。 Linq是爲它而打造的。 – Dykam 2009-11-12 23:26:11
我不知道我會將Linq描述爲流暢的界面。根據我的經驗,流暢的界面通常被設計爲可以像英語短語那樣讀取呼叫。流暢接口的方法通常是非常有狀態的 - 在不同時間調用相同的方法會產生截然不同的結果。 Linq更多的是組合一條將用於處理一組數據的管道。 Linq方法都不會改變任何狀態 - 它們只是返回一個新的對象。和Linq方法相比,「短語」y對我更感覺「方法」。但那只是我的個人意見。 – 2012-11-08 00:17:41
您將遇到的最有趣的設計模式就是您自己創建的模式,原因很明顯。
這並不是說它會是最好的設計模式,只是最有趣的。
與其說是模式,而是依賴注入和反轉控制
爲去年我一直在做寫在LANSA一個Windows應用程序,其中的重點是通過具有設置的製表位的所有控件管理維護除了兩個隱藏的按鈕(PrevFocus和NextFocus)外= false。加載表單時,焦點被設置爲一個字段,並且該字段的名稱存儲在一個跟蹤變量中(應用名稱爲「FocusField」)。當用戶標籤(或換檔標籤)改變焦點時,運行相應按鈕的GotFocus事件。在該函數內部是一個case語句(select case FocusField)。基於當前關注的領域,運行驗證邏輯,並且可能焦點改變到另一個領域。
大多數控件的GotFocus事件查看FocusField的當前值,然後調用一個LostFocus函數,該函數爲FocusField執行相同的case語句工作,以便以前的焦點字段將得到驗證。正如你可能猜到的那樣,這使得不可能將用戶界面與邏輯分離開來,並且難以置信地維護它。重寫這些表單以使用驗證所有輸入的簡單Validate方法,並讓正常Tab鍵屬性(TabOrder,TabStop等)發揮其魔力,通常會使代碼減少50%,並且可靠性更高。
我不知道這個模式是從哪裏開始的,儘管它可能是由RPG /綠屏程序員轉爲編寫應用程序的WinForms開發人員所夢想的。
我記得我第一次看到GOF中的flyweight pattern。他們使用的例子是文字處理器;他們指出了使用獨立對象來表示每個角色的缺點。輕量級模式鼓勵將可共享的,內在的,不可變的狀態從不可修改的,外在的,可變的狀態中分離出來。對我來說,當時是那些「啊哈」之一。這些時刻確實拓寬了我的視野,並影響了我的設計到今天。
我的一位朋友建議策略模式本質上是祖先模式。許多其他模式(橋接,裝飾,代理,狀態......)只是Strategy的更精緻的應用。我記得有一段時間他和他爭論說,戰略與國家確實有區別。
- 1. 你認爲什麼是最濫用的設計模式?
- 2. 什麼是你最好的Swing設計模式和技巧?
- 3. 有趣的API設計/模式
- 4. 你最有興趣使用WCF的是什麼?
- 5. 什麼是常見的Windows服務設計模式?
- 6. WPF設計師:你的設計過程是什麼?
- 7. 什麼是你見過的最棒的vs2008主題
- 8. 什麼是你見過的最糟糕的LINQ語法濫用?
- 9. 你見過的一些最好的開源項目是什麼?
- 10. 什麼是任何Windows窗體應用程序最常見的設計模式?
- 11. 設計模式 - 這是什麼模式?
- 12. 格式化數字的最佳設計模式是什麼?
- 13. 什麼是使用Selenium PageObject設計模式的最佳方式
- 14. 什麼是實現Viewholder設計模式的最佳方式。
- 15. 這是最好的設計模式是什麼?
- 16. 這是什麼樣的設計模式?
- 17. .net中的設計模式是什麼?
- 18. CRUD有什麼好的設計模式?
- 19. 銀行對賬單的最佳設計模式是什麼?
- 20. 什麼是創建CoreData模型設計的最佳方式?
- 21. 這個問題的最佳設計模式是什麼?
- 22. 什麼是最常用的軟件設計模式?
- 23. 處理同步變量的最佳設計模式是什麼?
- 24. 皮膚應用的最佳設計模式是什麼?
- 25. Perl 5.12中最有趣/最有用的新東西是什麼?
- 26. 你遇到過什麼最有趣的SQL問題(包括TSQL程序)?
- 27. 什麼是你遇到過的模板最輝煌的用途?
- 28. 跟蹤所有設計登錄的最佳方式是什麼?
- 29. 你的python模式鉤子是什麼?
- 30. 什麼是「調度員」設計模式?
我喜歡你的帖子,但你可以添加一個關於你描述的模式的解釋。 – 2008-09-19 20:28:51