版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、1、 設計模式一般用來解決什么樣的問題(a)A, 同一問題的不同表相B 不同問題的同一表相C.不同問題的不同表相D.以上都不是2、 下列屬于面向?qū)ο蠡驹瓌t的是(c )A. 繼承B.封裝C.里氏代換D都不是3、 Open-Close原則的含義是一個軟件實體(a )A.應當對擴展開放,對修改關閉B.應當對修改開放,對擴展關閉C.應當對繼承開放,對修改關閉D.以上都不對4、當我們想創(chuàng)建一個具體的對象而又不希望指定具體的類時,可以使用(a )模式。A. 創(chuàng)建型 B.結構型C行為型D.以上都可以5、 要依賴于抽象,不要依賴于具體。即針對接口編程,不要針對實現(xiàn)編程,是(d )的表述A.開-閉原則B.接口
2、隔離原則C.里氏代換原則D.依賴倒轉(zhuǎn)原則6、依據(jù)設計模式思想,程序開發(fā)中應優(yōu)先使用的是 (a )關系實現(xiàn)復用。A, 委派B.繼承C創(chuàng)建 D.以上都不對復用方式:繼承和組合聚合(組合委派)7、設計模式的兩大主題是(d )A. 系統(tǒng)的維護與開發(fā)B 對象組合與類的繼承C.系統(tǒng)架構與系統(tǒng)開發(fā)D.系統(tǒng)復用與系統(tǒng)擴展8、單子模式中,兩個基本要點(a b )和單子類自己提供單例A .構造函數(shù)私有B.唯一實例C.靜態(tài)工廠方法D.以上都不對9、下列模式中,屬于行為模式的是(b )A. 工廠模式 B觀察者C適配器以上都是10、 “不要和陌生人說話”是(d )原則的通俗表述A.接口隔離 B.里氏代換 C.依賴倒轉(zhuǎn)
3、D.迪米特:一個對象應對其他對 象盡可能少的了解11、構造者的的退化模式是通過合并( c )角色完成退化的。A.抽象產(chǎn)品B 產(chǎn)品 C 創(chuàng)建者 D 使用者12、單子(單例,單態(tài))模式類圖結構如下:下列論述中,關于”0.1 ”表述的不正確的是(d )A. 1表示,一個單例類中,最多可以有一個實例.B. ” 0.1 ”表示單例類中有不多于一個的實例C. 0 表示單例類中可以沒有任何實例D. 0 表示單例類可以提供其他非自身的實例13、對象適配器模式是(a )原則的典型應用。A.合成聚合復用原則B.里式代換原則C.依賴倒轉(zhuǎn)原則 D.迪米特法則14. 靜態(tài)工廠的核心角色是(a)A.抽象產(chǎn)品 B.具體產(chǎn)品
4、 C.靜態(tài)工廠 D.消費者15. 下列關于靜態(tài)工廠與工廠方法表述錯誤的是:(a )A. 兩者都滿足開閉原則:靜態(tài)工廠以if else 方式創(chuàng)建對象,增加需求的時候會修改源代碼B. 靜態(tài)工廠對具體產(chǎn)品的創(chuàng)建類別和創(chuàng)建時機的判斷是混和在一起的,這點 在工廠方法中C. 不能形成靜態(tài)工廠的繼承結構D. 在工廠方法模式中,對于存在繼承等級結構的產(chǎn)品樹,產(chǎn)品的創(chuàng)建是通過 相應等級結構的工廠創(chuàng)建的。16. 在觀察者模式中,表述錯誤的是( c )A. 觀察者角色的更新是被動的。B. 被觀察者可以通知觀察者進行更新C. 觀察者可以改變被觀察者的狀態(tài),再由被觀察者通知所有觀察者依據(jù)被觀 察者的狀態(tài)進行。D. 以上
5、表述全部錯誤。17. 對于違反里式代換原則的兩個類,可以采用的候選解決方案錯誤的是:(d )A. 創(chuàng)建一個新的抽象類 C,作為兩個具體類的超類,將 A和B共同的行為移 動到C中,從而解決 A和B行為不完全一致的問題。B. 將B到A的繼承關系改組成委派關系。C. 區(qū)分是“ IS-a ”還是” Has-a”。如果是“ Is-a ”,可以使用繼承關系,如果是” Has a”應該改成委派關系D. 以上方案錯誤18. 對象組合的有點表述不當?shù)氖牵╠ )A.容器類僅能通過被包含對象的接口來對其進行訪問。B.“黑盒”復用,封裝性好,因為被包含對象的內(nèi)部細節(jié)對外是不可見。C. 通過獲取指向其它的具有相同類型的
6、對象引用,可以在運行期間動態(tài)地定義(對象的)組合D. 造成極其嚴重的依賴關系。19. 關于繼承表述錯誤的是:(d )A. 繼承是一種通過擴展一個已有對象的實現(xiàn),從而獲得新功能的復用方法。B. 泛化類(超類)可以顯式地捕獲那些公共的屬性和方法。特殊類(子類) 則通過附加屬性和方法來進行實現(xiàn)的擴展。C. 破壞了封裝性,因為這會將父類的實現(xiàn)細節(jié)暴露給子類。D. 繼承本質(zhì)上是“白盒復用”,對父類的修改,不會影響到子類。20. 對于依賴倒轉(zhuǎn)的表述錯誤的是(e )A. 依賴于抽象而不依賴于具體,也就是針對接口編程。B. 依賴倒轉(zhuǎn)的接口并非語法意義上的接口,而是,一個類對其他對象進行調(diào) 用時,所知道的方法集
7、合。C. 從選項B的角度論述,一個對象可以有多個接口。D. 實現(xiàn)了同一接口的對象,可以在運行期間,順利地進行替換。而且不必知 道所示用的對象是那個實現(xiàn)類的實例。E. 此題沒有正確答案。21. 面向?qū)ο蟮牧鶙l基本原則包括:開閉原則,里式代換原則,合成聚合原則以及(依賴倒轉(zhuǎn)),(迪米特法則),(單一原則),(接口隔離?)。22. 在存在繼承關系的情況下,方法向(超類)方向集中,而數(shù)據(jù)向(子類)方 向集中。23. 適配器模式,分為類的適配器和對象的適配器兩種實現(xiàn)。其中類的適配器采用的是(繼承)關系,而對象適配器采用的是(組合聚合)關系。24. 設計模式的基本要素有(名字),(意圖),(問題),(解決
8、方案),(參與者與協(xié)作者 ),(實現(xiàn)),(一般性結構)。25. 創(chuàng)立型模式的根本意圖是要把(對象的創(chuàng)建)和(使用分離)的責任進行分離,從而降低系統(tǒng)的(耦合度)。26. 工廠模式分為(簡單工廠),(工廠方法),(抽象工廠)三種類型27. 門面模式是(迪米特)法則的典型運用28. MVC模型的基本工作原理是基于 (觀察者)模式,實現(xiàn)是基于(命令)模式29. 設計模式的思想根源是(開閉)基本原則的宏觀運用,本質(zhì)上是沒有任何模式 的,發(fā)現(xiàn)模式的人永遠是大師,而死守模式的人,最對只能是一個工匠.UMk設計模式(測試題)不定項選擇題:1 .一個軟件產(chǎn)品是否成功,因素有()。1 需求收集是否正確2 體系結構
9、的構建是否合理3 測試是否完全4 軟件的管理2 .開發(fā)過程中最困難的一個環(huán)節(jié)是(人與人之間的交流)。3 .用例是從(用戶 )的觀點對系統(tǒng)行為的一個描述。4 .順序圖所表達的是基于(時間順序 )的動態(tài)交互。5 .當需要在項目中定制自己的元素時,可使用(構造型來定制)。6 .表示一個操作中的參數(shù)和返回值的數(shù)據(jù)類型的稱呼是(形構 )。7 .多重性5, 10表示(5 或者10)。8 .在找出了類的繼承關系后,通??梢杂茫?接口 )來表示最上層的基類。9. UML中的實現(xiàn)是一種特殊類型的繼承,因為它是指從一個(接口 )繼承。10. 使用用例的難點在于(用例中各個場景的具體步驟)。11. 收集用例的方法是
10、(交談 )。12 .產(chǎn)生類圖和得到用例這兩個步驟,位于前面的是(沒有固定順序)。13. 面向?qū)ο罄碚撝?,對象之間發(fā)送信號,在UML狀態(tài)圖里就是( 事件 )。14. 順序圖中,動態(tài)創(chuàng)建對象表示法的特點是(是在時間線上的某一點創(chuàng)建,結束時尾部打 X)。15. 當代軟件工程的特點是()。1 允許各個階段進行迭代2 各個階段沒有明顯的分界線3 允許后期得到的信息返回,使得早期的能夠被修改。16. GRAPPLE最重要的段是()。1 需求收集2 需求分析3 用例開發(fā)4 編碼5 測試17. 設計模式的基本要素有(名稱,目的(意圖),解決方案,實施后達到的效果)。18. 當我們想創(chuàng)建一個具體的對象而又不希望
11、指定具體的類時,可以使用(創(chuàng)建性 )模式。橋接 )模式。命令 )模策略)19. 當我們想將抽象部分和實現(xiàn)部分分離時,可以使用(20. 當我們想用不同的請求對客戶進行參數(shù)化時,可以使用( 式。21. 當我們想封裝不同算法并使它們可相互替換時,可以使用( 模式。22. 面向?qū)ο笙到y(tǒng)中功能復用的兩種最常用技術是()。l 對象組合(優(yōu)先使用)l 類繼承(限制使用類繼承)-> 產(chǎn)生類爆炸23. 面向?qū)ο笙到y(tǒng)中的“黑盒復用”是指(對象組合)。24. 對象組合是通過獲得(抽象類的指針)而在運行時刻動態(tài)定義的。25. 設計模式中應優(yōu)先使用的復用技術是(對象組合)。26. 在Lexi系統(tǒng)中,我們把所有文檔
12、元素都看作是圖元,這樣,它們就有了相同的( 接口(也叫類型)。27. Lexi系統(tǒng)中,我們之所以能對文檔采用Composite模式,是因為文檔的元素之間有( 遞歸(樹型結構)關系。填空題:1. 軟件體系結構是指一個系統(tǒng)的有目的的設計和規(guī)劃,這個設計規(guī)劃既不描述 活動 ,也不描述 系統(tǒng)怎樣開發(fā),它只描述系統(tǒng)的組成元素及其相互的交互協(xié)作。2 .一個UML模型只描述了一個系統(tǒng)要做什么,它并沒告訴我們系統(tǒng)是 怎么做。3.接口是可以在整個模型中反復使用的一組行為,是一個沒有屬性 而只有方法 的類。4 .多重性指的是,某個類有多個個對象可以和另一個類的1個 對象關聯(lián)。5 .當一個類的對象可以充當多種角色時
13、,自身關聯(lián)就可能發(fā)生。6 .在泛化關系中,子類可以替代 父類 。也就是說,后者出現(xiàn)的地方,前者都可以出現(xiàn)。但是反過來卻不成立。7 .最通常的依賴關系是一個類操作的形構中用到了另一個類的定義。8 .組成是強類型的聚集,因為聚集中的每個部分體只能屬于個 整體。9 .實現(xiàn)的符號和繼承的符號有相似之處,兩者的唯一差別是實現(xiàn)關系用虛線表示,繼承關系用 實線 表示。10. UMLW后的兩個重量級概念是用例 和 面向?qū)ο?。11 .狀態(tài)圖和類圖、順序圖不同之處在于,后兩種圖能夠?qū)Χ鄠€對象建立模型,而狀態(tài)圖只是對1 個對象 建立模型。12. 狀態(tài)圖中 3個常用的動作是入口動作 、 出口動作 和 do 動作,也
14、就是對象處于這個狀態(tài)時應該做什么。13. 順序圖中,消息用水平箭頭線 表示;時間用垂直虛線表示。14. 當邏輯發(fā)生分支時,在順序圖中用生命線發(fā)生的分支表示,在協(xié)作圖中用嵌套的序號表示。15 .順序圖強調(diào)的是交互的時間順序,協(xié)作圖強調(diào)的是交互的空間關系 和參與交互的對象的上下文環(huán)境。16. GRAPPLE開發(fā)過程分為 5個 段 ,之中又由許多動作 組成。17. GRAPPLE程中,得到初步類圖是在需求收集段,細化類圖是在需求分析段。18 .每一個設計模式都集中于一個特定的設計問題,描述了 相互通信的對象或者類_以及解決方案和解決效果。19. 面向?qū)ο笙到y(tǒng)中功能復用的兩種最常用技術是對象組合 和
15、類繼承 。20. 設計模式中應優(yōu)先使用對象組合而不是 類繼承。簡答題1 .類圖在UML中有何重要作用?答:1.為開發(fā)人員提供這種模仿現(xiàn)實世界的表達方式。2. 讓分析員使用客戶所采用的術語和客戶交流,促使客戶說出所要解決的問題的 重要細節(jié)。2. 闡述用例對于系統(tǒng)開發(fā)人員來說的價值。答:是用來從用戶的觀察角度收集系統(tǒng)需求的一項技術,便于分析員與客戶和用戶交流,使系統(tǒng)更符合用戶的需求3. 簡述如何在實際工作中發(fā)現(xiàn)類。答:在與客戶的交談中,要注意客戶用來描述業(yè)務實體的名詞術語。這些名詞可 作為領域模型中的類。還要注意你聽到的動詞,因為這些動詞可能會構成這些類中的操作。當?shù)玫揭唤M類的核心列表后,應當向客
16、戶詢問在業(yè)務過程中每個類的作用。他們 的回答將告訴你這些類的職責。4. 簡述怎樣發(fā)現(xiàn)類之間的繼承關系。答:作為候選的類有可能和它的父類、子類在談話中同時被發(fā)現(xiàn)。系統(tǒng)分析員意識到 某個類的屬性和操作也許能被運用到其他多個類當中去。另一種可能的情況是系統(tǒng)分析員注意到兩個或者多個類可能具有相同的屬性和 操作數(shù)5. 試使用UML勺關系表示法,表示出大學計算機專業(yè)中如下這些課程的模型:C 語言程序設計、C+語言程序設計、Windows程序設計、網(wǎng)絡程序設計。注意抽 象類和依賴的使用。6 .畫出圖形用戶界面 GUI的狀態(tài)圖,要包括屏幕保護狀態(tài)。其中要表明相應的事件、動作。答:圖形用戶界面(GUI)是一個可
17、以說明狀態(tài)轉(zhuǎn)移細節(jié)的例子。在這里,假設 GUI可以處于以下3種狀態(tài)之一:Initializing( 初始化)。Working(工作)。Shut Down(關閉)。當打開PC電源的時候,自啟動發(fā)生。因此 Turning the PCon(打開PC)是一個觸發(fā) 器事件,它導致了 GUI的狀態(tài)轉(zhuǎn)移到Initializing 狀態(tài),而Bootup(自啟動)是一個在轉(zhuǎn)移 過程中執(zhí)行的動作。由于Initializing狀態(tài)中活動的完成,GUI將轉(zhuǎn)移進入 Working狀態(tài)。當你對PC選擇ShutDown(關閉機器)時,就引發(fā)了 Shut Down觸發(fā)器事件,最后 PC自己切斷電源,整個過程結束。下面的狀態(tài)
18、圖捕獲了GUI的這些狀態(tài)和轉(zhuǎn)移。下圖是 GUI加入 了 Screensaving 狀態(tài)和保護條件的狀態(tài)圖,注意圖中的保護條件isTimeout,被寫成一個布爾表達式。7. 順序圖和協(xié)作圖中,消息有哪三種?各自的意義和表示法什么?答:消息可以是簡單的(simple)、同步的(synchronous)或異步的(asynchronous)。簡單消息是從一個對象到另一個對象的控制流的轉(zhuǎn)移。如果一個對象發(fā)送了一個同步消息,那么它要等待對方對消息的應答,收到應答后才能 繼續(xù)自己的操作。而發(fā)送異步消息的對象不需要等待對方的應答便可以繼續(xù)自己 的操作。在順序圖中,簡單消息是一個簡單箭頭,同步消息是實心箭頭。異
19、步消 息是一個半邊箭頭,8. 畫出自動飲料銷售機中,理想場景和“錢數(shù)不正確”的場景合并在一起的順序圖假設在飲料銷售機中有3個對象來做上述工作:前端 (Front)(它是飲料銷售機與顧客之間的接口),錢幣記錄儀(Register)(它負責收集顧客投的錢幣),以及分 配器(Dispenser)。我們還假設錢幣記錄儀控制分配器對象。那么對象之間的交 互序列可能如下所示:1 .顧客向機器前端的槽縫中投入錢幣。2 .顧客選擇所要購買的飲料品種。3 .錢幣被轉(zhuǎn)送給記錄儀。4 .由于這是一個理想情況下的場景,假設有飲料存貨,則記錄儀控制 分配器將一罐飲料投遞到銷售機的前端。由于上述對應的序列圖只覆蓋了用例“
20、Buy soda ”的一個場景(也就是一個實例),因此它被稱之為實例順序圖(instance sequence diagram) 。下圖顯示了對應的實例順序圖。注意圖中只有簡單消息,每個消息都引起控制流程從一個對象 轉(zhuǎn)移到另一個對象。對于“錢數(shù)不正確”場景:1 .記錄儀檢查顧客輸入的錢幣數(shù)星是否與所要購買的飲料價格匹配。2 .如果輸入數(shù)量大于價格,則記錄儀計算兩者之間的差額并檢查機器 中存有的金額。3 .如果機器中剛好有能找給顧客的零錢,則記錄儀將零錢找給顧客,一切按正常情況繼續(xù)進行。.如果沒有零錢找給顧客,則記錄儀退回顧客投入的錢幣,并顯示 個消息,提示顧客重新輸入數(shù)量正確的金額。5.如果顧
21、客所輸入的金額少于所要購買的飲料價格,則記錄儀什么也不做,機 器等待顧客繼續(xù)投入錢幣。答:為了表示順序圖中的每個“ if ”分支,可以將“ if ”選擇條件寫在方括號中,放到對應的消息箭頭上,即增加 input=price , change in reserve 和change not in reserve3個選擇條件。每個條件都引起消息中的控制流的一個“分支”,將消息分為多條路徑。不同的消息路徑最終可以到達同一個對象。為了表達這種關系,接收對象的 生命線 可分為多余路徑。在消息序列的某一點上,信息的分支可以合并,生命線的路徑 也是如此。下圖是加入了場景“錢數(shù)不正確”后的圖。9. 畫出自動飲料
22、銷售機中,理想場景和“錢數(shù)不正確"的場景合并在一起的協(xié) 作圖。下面先來看看用例" Buy Soda(買飲料)”的最理想場景下的交互序列:1 .顧客向機器前端的槽縫中投入錢幣。2 .顧客做出一個選擇,選擇所要購買的飲料品種。3 .錢幣被轉(zhuǎn)送給記錄儀。4 .由于這是一個理想情況下的場景,所以記錄儀控制分配器將一罐飲料投 遞到銷售機的前端。這個場景的協(xié)作圖如下圖所示。下面再看“錢數(shù)不正確”場景的協(xié)作圖。這個協(xié)作圖中要出現(xiàn)以下幾個條件:1 .用戶輸入的錢數(shù)超過了所要購買的飲料價格。2 .飲料銷售機中備有可找給顧客的零錢。3 .飲料銷售機中沒有可找給顧客的零錢。在協(xié)作圖中條件的表示方
23、法與在順序圖中一樣,都是用方括號將條件表 達式括起來,放在消息名的前面。但是要注意的是消息的條件和序號之間的匹配 關系。條件和序號可能會使圖變得復雜,因此讓我們一步一步地來建立這個場 景的協(xié)作圖,這個圖的前提條件是用戶輸入的錢比所要購買的飲料價格高,并且 機器中備有找給顧客的零錢。首先增加機器給顧客找零的消息,并為該消息附加 上條件。給顧客找零消息是檢查是否有找給顧客的零錢這一消息的直接后續(xù)消 息。為了表明兩條消息之間的這種關系,這兩個消息采用同一序號,用序號后面 的點再接序號來區(qū)分它們。這叫做消息嵌套(nesting)。下圖說明了這個順序圖的細節(jié)。如果機器中沒有零錢可找會怎么樣呢?銷售機必須
24、顯示一條“無零錢”信息提示給顧客,并將顧客投入的錢幣退出,提示顧客投入零錢。實際上,這時交易就結 束了。要增加這個條件,就要增加控制流的分支??梢杂们短仔蛱柋硎具@個控制流的序號。因為它是第 2個被嵌套的消息,因此圓點后面的序號是2。最后,由于交易已經(jīng)結束,該消息上要附加構造型transaction over來表明交易結束。此外還有另一個發(fā)送飲料的消息。下圖是這個場景的順序圖。10. 簡述接口對于構件的重要意義。答:只能通過構件的接口來使用構件中定義的操作。構件可以讓它的接口被其他構件使用,以使其他構件可以使用這個構件中定義的 操作。提供服務的構件提供了導出接口,訪問服務的構件使用了導入接口。1
25、1. 簡述當代面向?qū)ο筌浖こ痰奶攸c和優(yōu)點。允許各個階段進行迭代各個階段沒有明顯的分界線允許后期得到的信息返回,使得早期的能 夠被修改,重用性高、維護性好、擴展性高12. GRAPPLE過程中,需求收集段的各個動作是什么?分別有什么工作產(chǎn)品?答:1發(fā)現(xiàn)業(yè)務過程工作產(chǎn)品是一個或者一組能夠捕獲業(yè)務過程中的步驟和判定點的活動圖。2領域分析工作產(chǎn)品是一個高層的類圖和會談記錄。3識別協(xié)作系統(tǒng)工作產(chǎn)品是新建的系統(tǒng)的部署圖4發(fā)現(xiàn)系統(tǒng)需求會議得到的工作產(chǎn)品是一個包圖。5將結果提交給客戶這個動作的工作產(chǎn)品視不同的組織而不同。13. 簡述類繼承和接口繼承的區(qū)別?我們應該盡量使用哪一種?答:類繼承根據(jù)一個對象的實現(xiàn)定義了另一個對象的實現(xiàn)。簡而言之,它是代碼和表示的共 享機制。然而,接口繼承描述了一個對象什么時候能被用來替代另一個對象。類繼承是派生中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度WPS文檔租賃合同費用結算及支付方式調(diào)整3篇
- 職業(yè)健身教練課程設計
- 二零二五年度農(nóng)業(yè)產(chǎn)業(yè)化公司入股合同書3篇
- 2024年物業(yè)協(xié)議終止補充協(xié)議書版B版
- 液壓轉(zhuǎn)向器的課程設計
- 礦山電工課程設計
- 幼兒單腳站立課程設計
- 2024年規(guī)范化勞務外包協(xié)議樣本版B版
- 2024涉外貨物買賣合同涉及的稅收和保險問題
- 二零二五年度黨建與企業(yè)職工心理健康合作協(xié)議3篇
- 支原體檢驗報告
- 施工現(xiàn)場安全監(jiān)督要點
- 單位物業(yè)服務項目投標方案(技術標)
- 工程預結算課件
- 酒店宴會合同范本
- 貨款互抵三方協(xié)議合同范本
- 七年級道德與法治論文2000字(合集六篇)
- 嚴重精神障礙患者健康管理服務規(guī)范
- 風險預測分析及風險與機遇評估分析表
- 高中日語宣講 試聽課件
- 壓力彈簧力度計算器及計算公式
評論
0/150
提交評論