試題四(共25分)
閱讀以下關(guān)于面向?qū)ο笙到y(tǒng)建模的敘述,在答題紙上回答問題1至問題3。
某軟件企業(yè)為影音產(chǎn)品銷售公司W(wǎng)開發(fā)一套在線銷售系統(tǒng),以提升服務(wù)的質(zhì)量和效率。項(xiàng)目組經(jīng)過討論后決定采用面向?qū)ο蠓椒ㄩ_發(fā)該系統(tǒng)。在設(shè)計(jì)建模階段需要滿足以下設(shè)計(jì)要求:
(1)W公司經(jīng)常進(jìn)行促銷活動(dòng)。根據(jù)不同的條件(如訂單總額、商品數(shù)量、產(chǎn)品種類等),公司可以提供百分比折扣或現(xiàn)金減免等多種促銷方式供提交訂單的用戶選擇。實(shí)現(xiàn)每種促銷活動(dòng)的代碼量很大,且會(huì)隨促銷策略不同經(jīng)常修改。系統(tǒng)設(shè)計(jì)中需要考慮現(xiàn)有的促銷和新的促銷,而不用經(jīng)常地重寫控制器類代碼。
(2)該在線銷售系統(tǒng)需要計(jì)算每個(gè)訂單的稅率,不同商品的稅率及計(jì)算方式會(huì)有所區(qū)別。所以W公司決定在系統(tǒng)中直接調(diào)用不同商品供應(yīng)商提供的稅率計(jì)算類,但每個(gè)供應(yīng)商的類提供了不同的調(diào)用方法。系統(tǒng)設(shè)計(jì)中需要考慮如果公司更換了供應(yīng)商,應(yīng)該盡可能少地在系統(tǒng)中修改或創(chuàng)建新類。
項(xiàng)目組架構(gòu)師決定采用設(shè)計(jì)模式來滿足上述設(shè)計(jì)要求,并確定從當(dāng)前已經(jīng)熟練掌握的設(shè)計(jì)模式中進(jìn)行選擇,這些設(shè)計(jì)模式包括:適配器模式( Adapter)、構(gòu)造器模式(Builder)、命令模式(Command)、外觀模式(Facade)、中介模式(Mediator)、原型模式( Prototype)、代理模式(Proxy)、狀態(tài)模式(State)和策略模式(Strategy)等。
【問題1】(6分)
設(shè)計(jì)模式按照其應(yīng)用模式可以分為三類:創(chuàng)建型、結(jié)構(gòu)型和行為型,請(qǐng)用200字以內(nèi)文字說明三者的作用。
【問題2】 (9分)
請(qǐng)將項(xiàng)目組已經(jīng)掌握的設(shè)計(jì)模式按照其作用分別歸類到創(chuàng)建型、結(jié)構(gòu)型和行為型模式中。
【問題3】 (10分)
針對(duì)題目中所提出的設(shè)計(jì)要求(1)和(2),項(xiàng)目組應(yīng)該分別選擇何種設(shè)計(jì)模式?請(qǐng)分別用200字以內(nèi)文字說明具體的解決方案。