Using MS technologies in Interface-Based Programming

前一陣子我同學從台灣來找我, 這位同學之前用 Jave 工作比較多, 但現在的工作用 .Net. 他跟我提到, 在他的公司裏的人, 用 .Net 開發, 但完全不懂 Interface-Based Programming, 所以他要跟那些資深同事們溝通時都很挫折, 他問我, 難道用 .Net 的人都不管這個嗎? 是不是因為 Visual Studio 太好用, 隨便拖拉一下就可以寫出可以用的程式所以用 .Net 開發的人都不管架構...

嗯, 關於這個 "Customer Feedback", 我就當成是個讚美, 感謝他肯定 "Visual Studio" 相較於 Java 世界的其它開發工具是 "太好用". 這樣我們每天辛苦的測試 Visual Studio, 總算沒有白費力氣.

可是, 對於廣大的 .Net 開發者社群而言, 我想他的疑問應該沒有反映真實狀況, 所以我就在此分享一些 MSDN 上的文章, 希望對好奇怎麼利用 MS 技術做 Interface-Based Programming 的人有點幫助.

首先, Interface-Based Programming, 這其實不是什麼新觀念. 以下這篇文章是用 VB6 來討論什麼是 Interface-Based Programming. 文章是1999年六用發表的, 也就是將近十年前, 在MSDN 上就有人開始講這個概念了:

Understanding Interface-based Programming

 再來, 以下這個 web cast 則是用 .Net 來解釋這個概念:

MSDN Architecture Webcast: .NET Interface-Based Programming (Level 200)

所以在 .Net 裏, 其實這個概念不是什麼新鮮事, 這其實也是所有用 OOP 開發應該要做的事. 所以我覺得我同學遇到情形應該只是個案.

最後, 再次謝謝他肯定 Visual Studio 是個很好用的工具. 只是很好用的工具並不保證能開發很好用的產品, 重點還是在使用工具的人.