앞서 세웠던 리팩토링 방향성에 대해직접 리팩토링하면서 배운 점과 느꼈던 점에 대해 작성해보려고 한다. 리팩토링을 통해 해당 프로젝트에서 얻고자 했던 것들이 몇 가지 있었다. 도메인 계층을 분리하여 비즈니스 로직을 보다 명확히 이동시키기데이터(DB)에 의존적인 코드가 아닌, 비즈니스 로직 중심의 코드로 변경하기의존성 역전 원칙(DIP)을 적용하여, 의존성을 낮추고 테스트에 용이한 코드로 변경하기 왜 리팩토링이 필요한가?이전에 작성했던 글에서는 리팩토링의 방향성만 정의하고,왜 그 방향성을 선택했는지에 대한 설명이 부족했던 것 같다.이번 글에서는 그 이유를 먼저 언급하고자 한다. 의존성 역전 원칙(DIP)을 적용하여, 의존성을 낮추고 테스트에 용이한 코드로 변경하기 리팩토링 방향성을 설정할 때, 가장 먼저 ..
이전 글에서 주저리 주저리 일대기까지 쓰면서마지막에 외주 프로젝트 관련 느꼈던 고민거리나 문제들을 해결하고자,우선 리팩토링부터을 진행하고자 한다. 일단 리팩토링을 하려고 하는 이유현재 구현에 급급해서 객체지향적인 코드보단 절차지향적인 코드로 구현되어있다.(이는 책을 통해서도 많이 깨달았는데.)그 때문인지 테스트 작성를 짜는데에 있어서 의존성 및 여러 역할과 책임이 제대로 분리되지 않아서 어려움이 있다. 테스트 작성 시 의존성 관련해서 어려움을 겪고 있다면,설계에 대한 문제의 가능성이 있다고 알려주는 경우가 많다고 한다. 그렇기에 객체지향적이면서 SOLID한 코드로 이번에 리팩토링하려고 한다. 리팩토링으로 얻고자 하는 것- 객체지향적 + SOLID한 코드를 만들어 유지보수가 수월하도록 하기 위함- 데이..