본문 바로가기
반응형

객체지향2

[엘레강트 오브젝트] 1.3 생성자에 코드를 넣지 마세요 이 내용은 엘레강트 오브젝트 를 읽으면서 정리한 내용을 포함하고 있습니다. 다음 목차로 진행합니다. 생성자의 역할 생성자의 코드가 없어야 하는 이유 생성자의 역할 생성자는 객체의 초기화를 시작하는 장소 초기화 시 생성자안에는 코드가 없어야 하고 인자를 건드려서는 안된다. 코드가 필요하다면 인자들을 다른 타입의 객체로 감싸거나 가공하지 않은 형식으로 캡슐화한다. 생성자는 코드가 없어야하고 오직 할당문만 포함해야 한다. 생성자의 코드가 없어야 하는 이유 문자열을 정수로 파싱하는 클래스가 있다고 가정하고 예시를 통해 알아보자. 아래 코드는 intValue() 를 호출할 때마다 매번 텍스트를 정수로 파싱한다. class StringAsInteger implements Number { private String .. 2023. 2. 19.
[객체지향] OCP 적용 정리 최근 진행하고 있는 미션에서 코드 리뷰를 통해서 OCP의 대해서 피드백을 받은적이 있습니다. OCP를 적용하면서 진행하였던 내용을 정리하려고 합니다. 상황 현재 외부 프로젝트 준비를 위해서 플랫폼 개발을 진행하고 있습니다. 그 중 API가 하나 있습니다. 이 API는 Elasticsearch를 조회해서 가져온 데이터를 전달하고 있습니다. 사실, 이 API는 기존에는 Database에서 조회한 내용을 전달하였습니다. 하지만 Elasticsearch를 연동하면서 변경되었습니다. 현재 개발 시에는 Elasticsearch를 사용하고 있지만, 외부 프로젝트 상황에 따라서 다른 라이브러리도 변경될 수 있습니다. 문제점 외부 라이브러리를 사용하는 부분에서 다른 라이브러리를 활용하여 다른 방식으로 변경될 수 있습니다.. 2022. 1. 23.
반응형