Java 混亂的Date API 的奇怪案例
java.util.Date 和java.util.Calendar 類別長期以來一直受到批評他們固有的缺陷。日期是一個可變的時間戳,它帶來了許多挑戰,例如它無法明確地表示日期。另一方面,日曆笨拙地組合了不同的日曆系統,導致了繁瑣的使用者體驗。
缺陷設計的起源
儘管存在明顯的缺點,但這些類別找到了進入 Java SDK 的方式。有些人推測時間限制可能是一個因素。然而,更細緻的解釋在於那個時代 API 設計的演進。
早期 JDK 類別中的變異性
如 Date 所示,變異性一直是許多早期 JDK 類別的功能。它源於透過重複使用物件而不是創建副本來優化程式碼的願望。在虛擬機器效率較低的時代,這種方法似乎是合理的。
事後回顧
事後看來,這些類的問題是顯而易見的明顯的。然而,當時對 API 設計最佳實踐的理解還不太成熟。此外,Java 可變性模型的全部意義可能尚未完全實現。
不幸的遺產
儘管引入了JSR-310,它提供了更現代、更強大的 API 來處理日期和時間。不幸的是,許多遺留應用程式繼續依賴舊的類,從而延續了它們固有的問題。
總之,Java 日期 API 的混亂本質凸顯了深思熟慮的 API 設計的重要性,認識到可變性的潛在陷阱,以及對最佳實踐不斷發展的理解。雖然過去可能無法改變,但從這些失誤中學到的教訓可以指導未來的 API 開發工作。
以上是為什麼 Java 的 Date API 如此混亂?的詳細內容。更多資訊請關注PHP中文網其他相關文章!