經常會使用到「框架( framework )」與「函式庫( libary )」描述一群可供重用的類別,但個人認為這兩者是有所分別。
若將開發系統比喻為蓋房子,那框架及函式庫就分別像是毛坯屋跟家具的概念。
如果系統所有執行的程式都是由自行撰寫,就像自地自建具備高度自由度,但其實對於同類型系統往往無需如此高自由度,也就是性價比太低,所以購入建商的毛坏屋再自行改裝,可以用較低的成本達到不錯的成果,就像套用框架( framework )可以快速完成基礎建設,也可以更專注在重要的商業邏輯,在經過水電、木工及油漆之後,屋子已然達到可供使用的狀況,此時你會購入家具讓屋子可以具備「生活機能」例如桌椅或電器,函式庫就類似如此「提供特定機能」的類別集合。
所以個人對於框架的定位是系統宏觀套用的基礎互動的類別集合,而函式庫則是微觀引用於提供特定機能的類別集合。