面向?qū)ο蟪绦蛟O(shè)計(jì)-3實(shí)驗(yàn)要求:
軟件實(shí)體(類(lèi),模塊,函數(shù)等)應(yīng)該對(duì)擴(kuò)充開(kāi)放,對(duì)修改封閉。 對(duì)擴(kuò)充開(kāi)放(Open For Extension )要求軟件模塊的行為必須是可以擴(kuò)充的,在應(yīng)用需求改變或需要滿足新的應(yīng)用需求時(shí),我們要讓模塊以不同的方式工作; 對(duì)修改封閉(Closed for Modification )要求模塊的源代碼是不可改動(dòng)的,任何人都不許修改已有模塊的源代碼。 基于OCP,利用面向?qū)ο笾械亩鄳B(tài)性(Polymorphic),更靈活地處理變更擁抱變化,OCP可以用以下手段實(shí)現(xiàn):(1)抽象和繼承,(2)面向接口編程。
高層模塊不應(yīng)該依賴于低層模塊。二者都應(yīng)該依賴于抽象; 抽象不應(yīng)該依賴于細(xì)節(jié)。細(xì)節(jié)應(yīng)該依賴于抽象; 通過(guò)接口或者抽象類(lèi),DIP在應(yīng)用中通過(guò)依賴注入的方式實(shí)現(xiàn)解耦,重用低級(jí)模塊,重用實(shí)現(xiàn),解除依賴。 面向?qū)ο蟪绦蛟O(shè)計(jì)-4實(shí)驗(yàn)要求:以TDD的方式開(kāi)發(fā)一個(gè)復(fù)數(shù)類(lèi)Complex,要求如下:// 定義屬性并生成getter,setter //Override Object // 定義公有方法:加減乘除 面向?qū)ο蟪绦蛟O(shè)計(jì)-5實(shí)驗(yàn)要求:使用WhiteStarUML對(duì)實(shí)驗(yàn)二中的代碼進(jìn)行建模,發(fā)類(lèi)圖的截圖,加上學(xué)號(hào)水印。來(lái)源:http://www./content-1-164251.html |
|
|
來(lái)自: 印度阿三17 > 《開(kāi)發(fā)》