C#開發 典故

來源:互聯網
上載者:User
面向切面編程

      飯店裡的進階廚師怎麼工作?我們知道,他不用洗菜切菜、不用端著盤子送菜、如果發現手裡牛肉變質了他更不用拿著牛肉去找肉店老闆理論,他的工作很單一:炒菜。
      當原料送來後,有專門的順菜切菜工進行洗菜、切菜,然後把處理好的菜送給廚師,廚師只管下鍋炒,炒完了送菜自然也不必關心,因為有專門的服務員負責這事。如果發現牛肉變質了,它只管說一聲,自然有相應的人處理這事。
      這個情境就是典型的AOP(面向切面編程)。廚師可以看成是業務組件,它有個方法就是“炒菜”,但是炒菜前要切菜,炒完了要有人送菜,可這不是廚師該關心的事啊!於 是我們的切菜工和服務員就相當於攔截器,其中切菜工在炒菜前攔截,進行切菜,服務員在炒菜後攔截,負責送菜。當然,我們還有個異常攔截器:處理問題的人,就是那個當廚師發現肉變質了喊一聲,就來處理的人。
      基於這個情境,我們看看這樣有什麼好處。首先是廚師職責單一了,他可以專註於自己的工作:炒菜,而不必理會不該自己關心的問題。而且“攔截器們”可以複用的,例如一個摳門的老闆完全可以找3個廚師但是只招一名服務員,反正一名服務員就可以給三名廚師端菜,這樣,攔截器的複用使得代碼重複不見了!

 

 摘自:http://www.cnblogs.com/leoo2sk/archive/2008/11/05/1326655.html

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.