建議適合閱讀的程度:Method的呼叫/建立,能運用自如的開發人員
記得在剛上課的時候,那時候講到介面,聽得我一頭霧水的,
聽也聽不懂,查也查不出所以然,後來每隔幾週就會再去看一次何謂介面,
直到上一週終於開竅,總算了解介面的功能以及應用的場合。
接下來就來討論一下,到底什麼是介面!
介面說穿了是個可以用,也可以不用的東西。你在講三小
明確地來說,介面是一個針對程式架構優化的方式,
再白話一點,就是說小型/簡單的專案可以不用使用到介面,
因為牽一髮而動全身的情況並不常見
那麼大型專案為什麼要用呢?
我們來實際模擬一個情況看看
我們現在有一把槍,分別分給三間廠商製造子彈,並且把子彈的規格書都交給廠商,
分別為A廠商、B廠商、C廠商
開工後數週,三間都廠商順利的生產出子彈了,任務完成!
三年後,因應戰場的變化,子彈必須改成穿甲彈,規格也跟著變了,
在通知廠商重發規格書的時候,卻只通知到了A廠商、B廠商,
而C廠商卻被忽略掉了
因此產出來的子彈會變成「穿甲彈、穿甲彈、子彈」
若是檢查的人員並沒有發現這個情況,到了戰場會發現
「靠北怎麼來的是子彈,這下要怎麼打仗?」
因此,為了避免上述的情況
衍伸而出了一個東西叫做介面,今天規格書依舊由軍方開立,
只是廠商在製造以前,必須向軍方確認,現在是子彈亦或是穿甲彈,
才開始進行生產。
這種設計方式能有效的做好規範,避免牽一髮動全身的時候,有忽略之處。
如果還是不懂的,可以參考這張圖片
有些人可能會說
「就三個類別而已!我自己動手改就好啦!不會忘記的啦!」
但介面的好處就是
「我才不管你是三個、一百個、一千個,就是做好規範來讓你遵循!
萬一漏改了,由編譯器來提醒你,大幅提升程式碼之間的關聯性。」
歡迎您的加入,讓這個社群更加美好!