日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

设计模式:Mogwai或Gremlins?

發布時間:2024/1/1 asp.net 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 设计模式:Mogwai或Gremlins? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1994年出版的《 設計模式:可重用的面向對象軟件的元素》向許多軟件開發人員介紹了“針對常見設計問題的簡單明了的解決方案目錄”的概念,如今幾乎每個面向對象的軟件開發人員都將其稱為“ 設計模式”。 。” 像大多數技術概念(無論是真實的還是炒作的還是介于兩者之間的)一樣,“設計模式”似乎經歷了接受的正常階段,從新思想Swift發展為普遍的思維方式。 與往常一樣,由于設計模式被過度使用,濫用和使用不當 ,流行度的Swift上升導致了強烈反對。 如今,正確使用設計模式似乎已被視為一種有用的工具,但通常認為使用不當會導致危險。

我通常避免在整個博客文章中都討論設計模式的優缺點,但是最近一位軟件開發人員做出了一個類比,涉及他對設計模式的使用和濫用的觀察。這激勵了我寫這篇文章。 安迪指出,一些軟件開發人員似乎傾向于采用一種無害且意圖明確的設計模式并將其轉變為邪惡 ,就像將像Gizmo這樣的Mogwai轉變為Gremlin一樣 。 在本文中,我將詳細探討為什么這是一個特別適合電影主題的類比,用于將有效使用設計模式轉變為濫用和濫用設計模式。

1984年的電影Gremlins始于唐人街的一位發明家和父親,購買了Mogwai。 商店所有者Wing先生不愿意將Mogwai賣給發明人/父親,因為“ Mogwai承擔了很多責任”。 然而,榮先生的孫子偷偷地將莫格威人賣給了發明人/父親,同時警告他要注意的三點重要事項,即與莫格威人的照料有關。 這三件事是:

  • '讓他遠離光明。 他討厭明亮的光線,尤其是陽光。 它會殺了他。
  • '讓他遠離水。 不要弄濕他。
  • “但是最重要的規則,無論他哭多少,也從來沒有乞求,你永遠都不會忘記的規則,永遠不要在午夜之后喂飽他。”
  • 設計模式的適當使用不受午夜后的明亮光線,水或進食的影響,但是應用設計模式時不小心的后果可能與不正確照顧Mogwai相似。

    快速產生設計模式

    當Mogwai或Gremlins變濕時,更多Mogwai或Gremlins會自發繁殖。 對于具有設計模式的開發人員來說,效果可能非常相似。 對于剛接觸設計模式的開發人員(或者對自己最近學習的新設計模式感到興奮的開發人員),將太多的設計模式應用于相同的問題很容易。 如果設計模式很好,那么更多的設計模式必須更好。 同樣,對于開發人員來說,很容易陷入將相同的設計模式應用于太多不同,不同且無關的問題的陷阱( Maslow's Hammer )。

    設計模式變得邪惡

    如果Mogwai在午夜之后進食,就會變成頑皮的Gremlins。 同樣,如果使用不當,設計模式可能弊大于利。 錯誤使用的設計模式可能會混淆代碼的意圖。 幾種設計模式一起使用也可以掩蓋意圖。 如果不謹慎使用,旨在促進更好設計的設計模式通常會導致設計變差。 一種情況下的設計模式可能是另一種情況下的反模式。

    將常見設計原則分類為模式的好處之一是能夠幫助開發人員和設計人員之間進行交流。 但是,當錯誤使用或過度使用設計模式時,可能會產生完全相反的效果(妨礙理解和溝通)。 我也看到過這樣的情況,當開發人員堅持使用某種特定的設計模式時,他或她實際上使用的是完全不同的設計模式甚至是反模式。 在這種情況下,使用“設計模式”術語也會造成混淆,而不是加以澄清。

    善意卻構想

    這些問題最常見于開發人員應用設計模式時,因為他們認為應該這樣做,而不是因為他們真正了解特定情況下的價值。 開發人員不僅需要了解不同設計模式的優勢和目標,還需要了解與之相關的權衡取舍,而不是將相同的設計模式應用于每個問題,或將設計模式塞入不合適的情況。設計模式,以便就設計模式的應用做出明智的決定。

    有效利用設計模式

    在我看來,設計模式的最佳使用是當開發人員根據觀察到需求的經驗自然地應用它們而不是強迫使用它們時發生的。 畢竟,當“ 四人幫”編寫有關設計模式的書時,他們正在對開發人員已經在使用的現有設計模式進行分類。 確實,他們書中涵蓋的某些模式變得如此流行,以至于它們被合并到Java語言語法和其他更新的語言中。 例如,Java提供了接口 (這有助于原始設計模式書中介紹的許多設計模式),而諸如Scala和Groovy之類的較新語言則添加了自己的模式實現。

    設計模式的使用:Gizmo或Gremlin?

    如果使用得當,設計模式將具有吸引力并令人期待,就像Mozwai的Gizmo是理想的寵物一樣。 但是,如果使用不當或在沒有適當注意和考慮的情況下應用設計模式,則可能會變成Gremlins,嚴重破壞代碼基礎,并妨礙理解和維護設計的能力。 請注意,設計模式本身并不一定是問題,而是由正確使用設計模式的人來決定它們是否保持理想的狀態(例如Gizmo)或不良狀態(例如Gremlins)。

    參考: 設計模式:Mogwai或Gremlins? 由我們的JCG合作伙伴 Dustin Marx在Inspired by Actual Events博客中獲得。

    翻譯自: https://www.javacodegeeks.com/2012/11/design-patterns-mogwai-or-gremlins.html

    總結

    以上是生活随笔為你收集整理的设计模式:Mogwai或Gremlins?的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。