第108章(1 / 1)

時間:12月31日地點:大B房間人物:大B,校

小A:“師兄,什麼是運動協會?”

大B:“比如有個國家的運動員協會,他們是負責登記與注冊職業運動員的(就好像我們國家的體育總局,無論足球籃球還是乒乓球的運動員都必須在這裏注冊才能拿到我們國家職業運動員牌照)。一家體育俱樂部(比如籃球的廣東宏遠,足球的深圳健力寶)想獲得球員為自己俱樂部效力,就必須通過這個運動員協會。”

小A:“怎樣去實現‘運動員’接口?有幾個客戶端?”

大B:“根據DIP我們可以設計一個‘運動員’接口,‘足球運動員’和‘籃球運動員’(還有其他運動員)都實現‘運動員’這個接口。而‘運動員協會’就是一個簡單工廠類,它負責實例化‘運動員’。我們這裏的‘俱樂部’就是一個客戶端(Client),不同的‘俱樂部’就是不同的客戶端。對於不同的俱樂部對象(無論是八一還是深圳健力寶),他們都是麵向‘運動員’接口編程,而不用管是‘足球運動員’還是‘籃球運動員’,也就是說實現了‘運動員’接口的具體類‘足球運動員’無需暴露給客戶端。這也滿足了DIP。”

小A:“但具體的俱樂部(比如足球的深圳健力寶)如何確保自己獲取的是自己想要的運動員(健力寶俱樂部需要的當然是足球運動員)呢?”

大B:“這就需要‘運動員協會’這一工廠類了。俱樂部通過調用‘運動員協會’的具體方法,返回不同的實例。這同時也滿足了LoD,也就是‘深圳健力寶足球俱樂部’對象不直接與‘足球運動員:李毅’對象通信,而是通過他們共同的‘朋友’——‘國家體育總局’通信。”

(本章完)