>Java >java지도 시간 >Java의 Date API가 왜 그렇게 지저분합니까?

Java의 Date API가 왜 그렇게 지저분합니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-24 16:29:14962검색

Why is Java's Date API So Messy?

Java의 Messy Date API에 대한 흥미로운 사례

java.util.Date 및 java.util.Calendar 클래스는 오랫동안 비판을 받아왔습니다. 그들의 본질적인 결함. 변경 가능한 타임스탬프인 날짜는 날짜를 명시적으로 표현할 수 없는 등 수많은 문제를 안겨줍니다. 반면, 캘린더는 서로 다른 캘린더 시스템을 어색하게 결합하여 사용자 경험이 번거롭습니다.

잘못된 디자인의 기원

명백한 단점에도 불구하고 이러한 클래스는 Java SDK에 들어가는 길을 찾았습니다. 일부에서는 시간 제약이 요인으로 작용했을 수 있다고 추측합니다. 그러나 좀 더 미묘한 설명은 그 시대 API 디자인의 진화에 있습니다.

초기 JDK 클래스의 가변성

Date에서 볼 수 있듯이 가변성은 많은 초기 JDK 클래스의 기능입니다. 이는 복사본을 만드는 대신 객체를 재사용하여 코드를 최적화하려는 욕구에서 비롯되었습니다. 가상 머신의 효율성이 떨어지던 시대에는 이러한 접근 방식이 합리적으로 보였을 수도 있습니다.

회고적 사후 판단

사후 판단의 이점으로 인해 이러한 클래스의 문제는 눈에 띄게 나타납니다. 분명한. 그러나 당시에는 API 설계 모범 사례에 대한 이해가 덜 성숙되었습니다. 더욱이 Java 가변성 모델의 전체 의미가 완전히 실현되지 않았을 수도 있습니다.

불운의 유산

이러한 결함이 있는 클래스의 유산은 다음이 도입되었음에도 불구하고 오늘날에도 지속됩니다. 날짜 및 시간 작업을 위한 보다 현대적이고 강력한 API를 제공하는 JSR-310. 불행하게도 많은 레거시 애플리케이션은 계속해서 이전 클래스에 의존하여 고유한 문제를 영속시킵니다.

결론적으로 Java 날짜 API의 지저분한 특성은 사려 깊은 API 설계의 중요성을 강조하고, 가변성의 잠재적인 위험을 인식하며, 모범 사례에 대한 이해가 발전하고 있습니다. 과거는 바뀔 수 없지만 이러한 실수로부터 얻은 교훈은 향후 API 개발 노력의 지침이 될 수 있습니다.

위 내용은 Java의 Date API가 왜 그렇게 지저분합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.