TIL

20230206 TIL 계층 분리의 장점을 느껴보다

jiwoosmile 2023. 2. 6. 12:52

 

개발을 시작하면서부터 데이터를 보여주는 부분과 관련된 코드와 비즈니스 로직을 분리해야한다,

관심사의 분리가 적절히 이뤄져야 한다는 말을 많이 들어왔다.

변경에 대한 여파를 최소화할 수 있기 때문이라고 들었는데,

실제로 불편함을 겪어보기 전에 이미 계층화가 되어있는 상태로 코드를 짜면서 큰 불편함도, 큰 이득도 느끼지 못하고 있었다.

 

그런데 오늘 계층화가 정말 소중하다는 것을 느끼게 되었다.

계층화가 없었다면 정말 많은 부분을 수정해야됐을 뻔 했는데,

계층화를 통해 변경의 여파를 줄일 수 있는 것을 실제로 겪어보니 계층화의 중요성에 대해 깨달을 수 있었다.

 

API에서 응답값의 더 적절한 key 값을 찾게 되어서 API를 수정했는데,

클라이언트에서 관련된 모든 부분을 다 고쳐야하나 전체 검색을 하던 중에

생각해보니 API와 맞닿고 있는 service계층 코드만 수정해주면 된다는 것을 깨닫게 되었다.

물론 전체적으로 변수명을 수정하는 게 더 바람직하다면 다른 부분도 수정을 해주면 좋겠지만,

계층화 덕분에 프론트에서는 이미 쓰고 있는 변수명이 더 적합하다면 다른 부분은 수정할 필요가 없이 일정 부분만 수정해주면 되었다.

 

아샬님이나 홀맨님께서 항상 코드를 많이 짜보고 왜 객체 지향이 중요하다고 하는지,

디자인 패턴이 왜 중요하다고 하는지 느껴보는 것이 중요하다고 하셨는데,

오늘 경험을 통해 객체지향, 계층화 등이 정말 많은 사람의 경험을 통해 뽑아낸 꿀팁이라는 것을 깨닫게 되었다.

계층화를 잘 적용해서 변경에 영향을 적게 받고 유지보수가 편한 코드를 짜보자!