2012-10-27 57 views
2

可能重複:
What is the difference between a framework and a library?Java集合:框架或庫?

Java文檔說The collections framework

爲什麼Java集合稱爲一個框架,而不是一個庫? 現在我更糊塗了什麼我可以從一個框架期望爲庫..

+1

相關:http://stackoverflow.com/q/148747/738746 –

+3

貓是捕食者還是哺乳動物?現在對這個問題應用相同的推理! –

+0

你不應該期待框架和庫的不同之處。我會幾乎同義地使用它們。 –

回答

2

以下特點區分框架從圖書館:控制

反轉 - 在一個框架,不像在圖書館或普通用戶應用程序中,整個程序的控制流程不是由調用者決定的,而是由框架決定的。

默認行爲 - 框架具有默認行爲。這種默認行爲實際上必須是一些有用的行爲,而不是一系列禁止行爲。

可擴展性 - 用戶通常可以通過選擇性覆蓋或用戶代碼專門提供特定功能來擴展框架。

不可修改的框架代碼 - 框架代碼一般不允許修改。用戶可以擴展該框架,但不能修改其代碼。

基本上,框架是一種類型的庫,其行爲不能改變。例如,你可以在java中擴展類ArrayList或者HashMap,但是你不能改變這些類的行爲。