728x90 아키텍쳐 설계 경험/헥사고날 아키텍쳐 설계 도전기2 [신입 개발자의 첫 번째 아키텍쳐 설계 도전기 - #1] 레거시 아키텍처의 문제점 분석 1. 레거시 아키텍처의 구조와 문제점기존 POS 시스템은 common-core-windows의 3계층 구조로 설계되어 있었습니다.common은 영속성 계층을, core는 비즈니스 로직을, windows는 컨트롤러 역할을 담당했습니다.얼핏 보면 깔끔해 보이는 이 구조에는 몇 가지 심각한 문제점들이 있었습니다.1.1 계층 간 의존성 문제레거시 아키텍처의 가장 큰 문제점은 core 모듈의 순수성이 완전히 깨져있다는 점이었습니다.클린 아키텍처의 원칙에 따르면 core(비즈니스 로직) 계층은 외부 의존성 없이 순수하게 유지되어야 하며, 다른 계층에서 core를 의존해야 합니다. 하지만 실제로는 정반대였죠.아래는 실제 core모듈의 build.gradle.kts에 기술된 의존성 설정의 일부입니다.dependenci.. 2024. 12. 16. [신입 개발자의 첫 번째 아키텍쳐 설계 도전기 - 프롤로그] 입사 1년차 선물로.. 중요한 자사 프로젝트의 설계를 맡게 되었다!? 예상치 못한 선물2024년 9월, 입사 1년을 갓 넘긴 시점에서 저는 뜻밖의 '선물'을 받았습니다.병역 특례로 복무하던 제 사수분이 퇴사하게 되면서, 사내의 가장 중요한 프로젝트 중 하나인 크로스플랫폼 POS의 아키텍쳐를 설계하고 개발을 리딩해야 하는 상황이 되었기 때문입니다.두려움과 설렘 사이사실, 프로젝트를 리딩해 나가야 되는 상황인 건 맞았지만, 아키텍쳐를 새로 설계해야 된다는 책임이 부여된건 아니었습니다.하지만, 저는 짧다면 짧은 1년간 레거시 코드를 유지보수하고 추가 개발을 하면서, 기존의 아키텍쳐와 개발 방법에 많은 문제가 있다는 것을 느끼고 있었습니다.하여, 어차피 할 거라면 신규 프로젝트니까 아키텍쳐 부터 탄탄하고 깔끔하게 만들고 가자는 생각이 들었습니다.위와 같은 상황이었기에 처음에는 정.. 2024. 12. 16. 이전 1 다음 728x90