|
對(duì)于“封裝變化點(diǎn)”和“針對(duì)接口編程”這兩句話(huà),我現(xiàn)在是這樣理解的:有別于傳統(tǒng)的或者沒(méi)有深入包含OO思想的編程,遵循這兩項(xiàng)設(shè)計(jì)原則的程序設(shè)計(jì)方式是將程序中易發(fā)生改變的部分抽離出來(lái)成為某種意義上的“小部件”,并且在原先程序中被剝離的部分留出“插槽”。這種“插槽“對(duì)于實(shí)現(xiàn)相應(yīng)接口的所有小部件開(kāi)放。原先各種可能存在的變化被封裝成各種小部件備用。在程序運(yùn)行時(shí)根據(jù)實(shí)際情況動(dòng)態(tài)地為程序裝載上小部件。這其中有一個(gè)非常與眾不同的一點(diǎn):遵照此設(shè)計(jì)之前的代碼執(zhí)行過(guò)程是直接對(duì)某功能進(jìn)行實(shí)現(xiàn)操作;而根據(jù)這兩個(gè)設(shè)計(jì)原則的程序代碼在執(zhí)行時(shí)是對(duì)已實(shí)現(xiàn)某功能的部件進(jìn)行組裝,其本身無(wú)需關(guān)注具體的實(shí)現(xiàn)過(guò)程。這樣的好處在于,小部件與程序主體被分離開(kāi)來(lái),減小了耦合。小部件之間被很好的隔離,彼此不需要知道對(duì)方的存在,自然也不會(huì)相互產(chǎn)生干擾。在測(cè)試上可以很明確的按照模塊來(lái)測(cè)試,思路清晰簡(jiǎn)潔。在面對(duì)需求變更所帶來(lái)的維護(hù)上,這種設(shè)計(jì)往往有著無(wú)與倫比的優(yōu)越性——這個(gè)過(guò)程將不會(huì)是以往從幾萬(wàn)行代碼中找出需要更改的部分然后在小心翼翼地去更改它(因?yàn)楦牟簧鲗?huì)導(dǎo)致原本正常工作的代碼出現(xiàn)新的問(wèn)題),而是由程序員新”制作“一個(gè)實(shí)現(xiàn)接口的小部件,然后在主程序中找出那句將小部件和主程序連接在一起的代碼,修改它(注意,僅僅是這么一句)。
|
|