(原創) 這學期C++完美的Ending (C/C++) (日記)
今天是C++期末考,最後一題上機考很有意思,題目我就不敘述了,重點是,他將interface完全給你,完全要你實做該interface的程式,並且用到了STL,也就是說這學期教到的OOP和STL都用上了,非常完美的ending。
我的感想是,就算是interface都給你了,只有實做都還有一些難度,更何況定義interface,所以我覺得OO技術分兩個層次,一個層次是定義interface,一個層次是實做interface,定義interface算PM/SA該做的事情,實做interface算programmer的事情,PM/SA將header file給programmer後,programmer依照header file中的interface去實做。
或許台灣很多軟體公司,interface都還是由programmer去定義的,但我覺得這樣並不妥,定interface需要OOA/D,design pattern較高深的『內功』,應該由較資深的人來做,而實做interface的人則可由較資淺的人來做即可,這樣的好處是,PM/SA可以藉由定義interface掌握住整個專案的架構,而不是由programmer自行發揮,導致最後無法收拾,也由於interface統一控管,日後若要和其他系統整合,也有了統一的interface標準,所以C++將.h和.cpp分開的方式,剛好是PM/SA負責.h,programmer負責.cpp,是很完美的分工,這在C#和Java就看不到了,因為C#和Java沒有header file。