以往,在物介導向教學書藉中,都會提到介面(Interface)的觀念,雖然已有許多的開發經驗,但實在是使用介面(Interface)的設計很少,幾乎沒使用過。今天閱讀了幾本晝,約略又提到了實作介面(Interface)的方法及觀念,但仍是很令我強記在心,因為不夠生活化。
因此,我想了一個例子來幫助我自己強記這個介面(Interface)的設計用法,非常方便的可以用生活中我們所遇到的事物,就是蓋房子所必需使用的水管管線,水管的管線口徑也是需要計算依據人口使用數量來決定口徑的大小(
Link),使用人口越多,口徑就要越大;相同的,人口越少,所需的口徑也相同小。但上述的原理,以類型來說大樓及平房,就是一個例子。
同樣地,根據建築物的類型不同,但都需要使用水管,延伸到系統設計的角度上來說,一個系統平台的規劃,也會有固定會使用到的方法(Method),就如同水管一樣,建築物一定需要有水管。這些必要的規格,意指系統規劃中必要的方法(Method),會依據系統類型的不同(如大樓、公寓、平房等等),都會讓方法(Method)的計算方式有了些變化,就如同水管大小的計算方式,可能有所不同,這樣的思維就可以讓我們強記了介面(Interface)的使用邏輯。
我們可以在系統規劃的初期,模擬列示出必要的方法(Method),在將此方法(Method)粹取成一個介面(Interface)設計,讓類別(Class)依據自己的類型不同,實作介面(Interface)及方法(Method)。如同上述所舉的例子:我們可以在蓋房子的初期,模擬列示出必要的項目(水管...),在將此項目(水管...)粹取成一個共同觀念(蓋房之類大家共同要有的觀念),讓房子可以依據自己的類型不同,實作共同觀念及項目(水管...)。以這樣的例子,確實讓我可以強記介面的使用情境....