- 相關(guān)推薦
設(shè)計(jì)模式 面試題
近幾年來(lái),設(shè)計(jì)模式試題已廣泛出現(xiàn)在一些IT企業(yè)(包括一些巨牛型企業(yè))的面試和筆試題中,從本文開(kāi)始我將通過(guò)幾篇文章來(lái)介紹一下一些已出現(xiàn)過(guò)的設(shè)計(jì)模式面試和筆試題,歡迎大家討論。
某房地產(chǎn)公司欲開(kāi)發(fā)一套房產(chǎn)信息管理系統(tǒng),根據(jù)如下描述選擇合適的設(shè)計(jì)模式進(jìn)行設(shè)計(jì):
(1) 該公司有多種房型,如公寓、別墅等,在將來(lái)可能會(huì)增加新的房型;
(2) 銷(xiāo)售人員每售出一套房子,主管將收到相應(yīng)的銷(xiāo)售消息。
參考解答:【個(gè)人觀點(diǎn)】
對(duì)于描述(1)可以選擇使用工廠方法模式,對(duì)于描述(2)可以選擇使用觀察者模式,本題參考類(lèi)圖如下所示:
在類(lèi)圖中,HouseCreator是抽象房屋工廠類(lèi),其子類(lèi)VilladomCreator用于創(chuàng)建別墅Villadom,子類(lèi)ApartmentCreator用于創(chuàng)建公寓Apartment,Villadom和Apartment都是抽象房屋類(lèi)House的子類(lèi),此時(shí)應(yīng)用了工廠方法模式,如果增加新類(lèi)型的房屋,只需對(duì)應(yīng)增加新的房屋工廠類(lèi)即可,原有代碼無(wú)須做任何修改;House類(lèi)同時(shí)作為抽象觀察目標(biāo),子類(lèi)Villadom和Apartment作為具體觀察目標(biāo),相關(guān)人員類(lèi)Stakeholder作為抽象觀察者,其子類(lèi)Manager(主管)作為具體觀察者,實(shí)現(xiàn)了在Stakeholder中聲明的response()方法,當(dāng)房屋售出時(shí),房屋的狀態(tài)status將發(fā)生變化,在setStatus()方法中調(diào)用觀察者的response()方法,即主管將收到相應(yīng)消息,此時(shí)應(yīng)用了觀察者模式。
[設(shè)計(jì)模式 面試題]
【設(shè)計(jì)模式 面試題】相關(guān)文章:
iOS開(kāi)發(fā)、設(shè)計(jì)面試題08-16
平面設(shè)計(jì)師面試題目07-24
平面設(shè)計(jì)師面試題目10-19
平面設(shè)計(jì)師面試題目10-08
100個(gè)iOS開(kāi)發(fā)設(shè)計(jì)面試題大全(2)06-26
課堂教學(xué)設(shè)計(jì)的主要模式(詳解)(2)06-06
iOS開(kāi)發(fā)設(shè)計(jì)程序員面試題(2)09-30
經(jīng)典面試題06-20