아키텍처 선택 시 고려사항 질문입니다
64
작성한 질문수 1
이번 강의에서 아키텍처 설명과 interface를 활용해 계층 간 의존도를 끊는 방법을 보며 시야가 넓어지는 느낌을 받았습니다.
토비님은 새로운 프로젝트를 시작하거나 기존 코드를 리펙토링할 때, 어떤 기준으로 아키텍처를 선정하는지 궁금합니다.
팀원들의 지식 범위나 프로젝트의 뱡향성, 개발 속도 등 여러 요소 중 어떤 부분을 더 중요하게 고려하시는지도 듣고 싶습니다.
답변 2
1
잘 알려진, 그리고 제가 검증해본 기본 아키텍처가 있는데 그 선택지 내에서 함께 일할 팀원들과 이야기해보고 선택하는 편입니다. 가끔은 뭔가 새로운 도전을 해보고 싶어하는 경우도 있고, 어떨 때는 익숙한 아키텍처를 원하기도 하니까요. 저는 개발팀원에게 가능한 선택을 할 수 있게 해줍니다.
다만, 아키텍처가 초기에 정하면 절대 변경되지 않는 것으로 만들지 않습니다. 시간이 지나면서 아키텍처 자체도 계속 검증해보고, 느껴보고, 다들 같이 피드백을 하면서 조금씩 바꾸기도 합니다.
아키텍처라는 건 개발팀이 가장 중요하게 생각하는 어떤 것입니다. 그게 실제 개발을 하면서 드러나기도 하거든요. 그때 너무 경직되어 있으면 변경하기 힘드니, 가능하면 초기엔 변경이 용이한 단순한 것으로 출발합니다.
0
안녕하세요, 인프런 AI 인턴입니다. 백엔드학생님께서 아키텍처 선택 시 고려해야 할 사항에 대해 질문해 주셨네요.
아키텍처 선택은 프로젝트의 성공에 큰 영향을 미치는 중요한 결정 중 하나입니다. 토비님 포함 많은 개발자들은 여러 요소를 종합적으로 고려하여 아키텍처를 결정합니다. 다음은 일반적으로 고려해야 할 주요 사항들입니다:
프로젝트의 규모와 복잡도:
- 작은 규모의 프로젝트나 빠르게 변하는 요구사항이 많은 프로젝트라면 비교적 간단한 아키텍처가 적합할 수 있습니다.
- 반면에, 확장성이 중요한 대규모 프로젝트라면 헥사고날 아키텍처나 클린 아키텍처와 같은 복잡한 설계를 고려할 수 있습니다.
- 작은 규모의 프로젝트나 빠르게 변하는 요구사항이 많은 프로젝트라면 비교적 간단한 아키텍처가 적합할 수 있습니다.
팀원들의 기술 수준 및 경험:
- 팀원들이 아키텍처 패턴에 대해 충분히 이해하고 경험이 있는 경우 복잡한 아키텍처도 무리 없이 적용할 수 있습니다.
- 반대로, 해당 아키텍처에 익숙하지 않다면, 학습과 적응에 시간이 걸릴 수 있음을 고려해야 합니다.
- 팀원들이 아키텍처 패턴에 대해 충분히 이해하고 경험이 있는 경우 복잡한 아키텍처도 무리 없이 적용할 수 있습니다.
프로젝트의 장기적인 방향:
- 프로젝트가 장기적으로 유지보수가 많이 필요하거나 다양한 복잡도가 증가할 가능성이 크다면, 변화에 강한 구조를 채택하는 것이 좋습니다.
- 프로젝트가 장기적으로 유지보수가 많이 필요하거나 다양한 복잡도가 증가할 가능성이 크다면, 변화에 강한 구조를 채택하는 것이 좋습니다.
개발 속도와 일정:
- 엄격한 일정에서 빠르게 개발해야 하는 경우, 익숙한 아키텍처로 일단 안정성을 확보하고 이후에 필요에 따라 개선할 수도 있습니다.
- 엄격한 일정에서 빠르게 개발해야 하는 경우, 익숙한 아키텍처로 일단 안정성을 확보하고 이후에 필요에 따라 개선할 수도 있습니다.
기술 선택의 유연성:
- 특정 기술 스택에 의존하지 않고 쉽게 교체 가능한 구조를 원한다면, 의존성의 방향을 명확하게 관리하는 아키텍처를 선택하는 것이 좋습니다.
- 특정 기술 스택에 의존하지 않고 쉽게 교체 가능한 구조를 원한다면, 의존성의 방향을 명확하게 관리하는 아키텍처를 선택하는 것이 좋습니다.
이에 대한 더 깊이 있는 설명은 이전에 토비님께서 관련 질문에 답변하신 것이 있어, 이를 참고하시면 도움이 되실 겁니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
테스트 관련 질문!
0
56
2
N+1 관련해서 질문있습니다.
0
97
3
도메인 모델에서 관계와 규칙을 구분하는 방법
0
85
2
헥사고날 아키텍처에서의 배치, 시큐리티, 비동기 이벤트 처리는 어떻게 하나요?
0
168
2
어댑터에서 도메인에 직접 의존하는 경우에 대해
0
159
2
Member 도메인이 PasswordEncoder를 받는 구조 질문 있습니다.
0
136
2
MemberService와 EmailSender 책임 분리에 대한 질문
0
121
2
NonNullApi를 NullMarked로 대체하라고 합니다.
0
155
2
39. 문서와 코드 다듬기 updateInfo 테스트 질문 있습니다.
0
92
2
Repository Adapter 설계에 대해 피드백을 부탁드립니다
0
121
2
헥사고날 part2 강의 출시 예정일 문의 드립니다.
0
280
2
PT 문의사항
0
114
1
초기 어플리케이션 구동 시 compose.yml 파싱 오류
0
164
2
애플리케이션의 JPA 리턴과 도메인 모델
0
141
2
애그리거트 루트의 하위 도메인들의 depth가 깊어질 때 문의
0
153
2
페이징 처리를 해야한다면 어떻게 해야할까요?
0
209
2
애그리거트의 repository
0
132
2
Domain Expert가 정확히 어떤 역할을 하는 사람인가요?
0
259
1
회원 애플리케이션 서비스 테스트 (1)
0
118
2
정적 팩토리 메서드 관련 질문드립니다!
0
116
2
spotbug + @NonNullApi 로만 Null 방어가 될까요?
0
140
2
required 포트에 관해서
0
99
2
혹시 다음 편은 언제쯤 오픈할까요?
0
179
2
서비스 단위 테스트 코드 작성
0
107
2





