요새 고민인 부분이 있습니다. 한 번 정적 팩토리 메서드에 사용법에 대해 알고 나서부터는 만들고자 하는 대부분의 객체의 의존성을 배제하고 직접적인 Setter를 금지하여 객체를 만들고자 하는 욕심이 생겼습니다. 그래서 오늘은 지금까지 공부한 방법에 대해 연구하고 객체를 만드는 과정을 알아보고자 합니다. 0. `Builder` 패턴을 잘 사용하기, 그리고 생성자는 private로 하여 불변 및 상속 불능으로 만들기 정적 팩토리 메소드를 사용하는 이유 중에 하나는 인스턴스의 프로퍼티 변조를 막고 파라미터를 통해 클래스 인스턴스를 만들기 위함입니다. 그래서 생성자는 private로 접근 제어자를 설정하여 클래스 내부에서만 조립이 가능하도록 막습니다. 또, private 으로 선언이 된 이상 상속이 불가능합니다..
이전 글에 이어서 자바 코드를 리팩터링하는 기본적인 방법과 그 내용을 코드를 통하여 조금 더 이해하기 쉽도록 적어보려고 합니다. 리팩터링 1부 - https://abbo.tistory.com/393 [Refactor] 자바 코드 리팩터링하기 - 1부 안녕하세요~ 오늘은 개발자의 숙명과도 같은 코드 리팩터링에 대해 알아보고 제가 진행하는 코드 리팩터링 방법에 대해 기술해보려 합니다. 가장 먼저 리팩터링의 정의를 먼저 알아야 합니다. abbo.tistory.com 리팩터링 2부 - https://abbo.tistory.com/394 [Refactor] 자바 코드 리팩터링하기 - 2부 이전 글에 이어서 자바 코드를 리팩터링하는 기본적인 방법과 그 내용을 코드를 통하여 조금 더 이해하기 쉽도록 적어보려고 합니다..
이전 글에 이어서 자바 코드를 리팩터링하는 기본적인 방법과 그 내용을 코드를 통하여 조금 더 이해하기 쉽도록 적어보려고 합니다. https://abbo.tistory.com/393 [Refactor] 자바 코드 리팩터링하기 - 1부 안녕하세요~ 오늘은 개발자의 숙명과도 같은 코드 리팩터링에 대해 알아보고 제가 진행하는 코드 리팩터링 방법에 대해 기술해보려 합니다. 가장 먼저 리팩터링의 정의를 먼저 알아야 합니다. abbo.tistory.com 5. 고차 함수로 의존성 줄이기 스프링을 사용한 프로젝트에서 종종 다음 2가지의 상황을 마주할 수 있습니다. 첫째, 어노테이션에 의한 의존성 주입 남용입니다. 둘째, 오랜 세월의 흐름으로 의도치 않게 서비스 간의 의존성이 복잡하게 강한 결합(Tight Couplin..
안녕하세요~ 오늘은 개발자의 숙명과도 같은 코드 리팩터링에 대해 알아보고, 코드 리팩터링 방법에 대해 기술해보려 합니다. 가장 먼저 리팩터링의 정의를 먼저 알아야 합니다. 리팩터링이란 ? 리팩터링(refactoring)은 소프트웨어 공학에서 '결과의 변경 없이 코드의 구조를 재조정함'을 뜻한다. 주로 가독성을 높이고 유지보수를 편하게 한다. 버그를 없애거나 새로운 기능을 추가하는 행위는 아니다. 사용자가 보는 외부 화면은 그대로 두면서 내부 논리나 구조를 바꾸고 개선하는 유지보수 행위이다. 리팩터링의 잠재적인 목표는 소프트웨어의 설계, 구조 및 구현을 개선하는 동시에 소프트웨어의 기능을 보존하는 것이다. 리펙터링은 코드의 가독성을 향상시키고 복잡성을 감소시키는 효과를 가지며, 이러한 이점은 소스 코드의 ..