코드SOD: 객체화 노트

코드SOD: 객체화

"5년 경력의 개발자가 프로젝트에서 작업하면서 객체 지향 프로그래밍에 대한 애정을 표현했으며, 코드를 깨끗하고 분명하게 만들 수 있다고 믿었습니다. 그들은 Java 객체를 사용하여 웹 스크래핑 도구를 만들었는데, UrlHolder, UrlDownloader, UrlLinkExtractor 클래스를 포함했습니다. UrlHolder 클래스는 문자열을 래핑하는 클래스이나, 문자열을 비공개로 만들고 액세서를 제공하지 않습니다. UrlDownloader 클래스는 UrlHolder를 래핑하고, 공개 문자열인 downloadPage를 가지고 있지만, 역시 액세서를 제공하지 않습니다. UrlLinkExtractor 클래스는 UrlDownloader를 래핑하고, downloadPage 공개 속성을 사용하여 링크를 추출하는 함수를 가지고 있습니다. 이 코드의 최종 목표는 문자열을 추출 함수션에 전달하는 것입니다. 그러나 이 코드는 지나치게 복잡하고, 액세서를 부족하게 설계되어 좋은 객체 지향 프로그래밍 원칙을 보여주지 않습니다. 코드의 저자는 이 코드가 좋은 객체 지향 프로그래밍 원칙을 보여주지 않는다고 비판합니다. 개발자의 접근방식