강의

멘토링

로드맵

Inflearn Community Q&A

backstudent's profile image
backstudent

asked

Toby's Clean Spring - Domain Model Pattern and Hexagonal Architecture Part 1

Member Application Service Test (2)

아키텍처 선택 시 고려사항 질문입니다

Written on

·

29

0

이번 강의에서 아키텍처 설명과 interface를 활용해 계층 간 의존도를 끊는 방법을 보며 시야가 넓어지는 느낌을 받았습니다.

토비님은 새로운 프로젝트를 시작하거나 기존 코드를 리펙토링할 때, 어떤 기준으로 아키텍처를 선정하는지 궁금합니다.

팀원들의 지식 범위나 프로젝트의 뱡향성, 개발 속도 등 여러 요소 중 어떤 부분을 더 중요하게 고려하시는지도 듣고 싶습니다.

springspring-bootjpa리팩터링ddd

Answer 2

1

tobyilee님의 프로필 이미지
tobyilee
Instructor

잘 알려진, 그리고 제가 검증해본 기본 아키텍처가 있는데 그 선택지 내에서 함께 일할 팀원들과 이야기해보고 선택하는 편입니다. 가끔은 뭔가 새로운 도전을 해보고 싶어하는 경우도 있고, 어떨 때는 익숙한 아키텍처를 원하기도 하니까요. 저는 개발팀원에게 가능한 선택을 할 수 있게 해줍니다.

다만, 아키텍처가 초기에 정하면 절대 변경되지 않는 것으로 만들지 않습니다. 시간이 지나면서 아키텍처 자체도 계속 검증해보고, 느껴보고, 다들 같이 피드백을 하면서 조금씩 바꾸기도 합니다.

아키텍처라는 건 개발팀이 가장 중요하게 생각하는 어떤 것입니다. 그게 실제 개발을 하면서 드러나기도 하거든요. 그때 너무 경직되어 있으면 변경하기 힘드니, 가능하면 초기엔 변경이 용이한 단순한 것으로 출발합니다.

backstudent님의 프로필 이미지
backstudent
Questioner

아키텍처는 절대적인 게 아니라, 상황에 따라 계속 검증하고 발전시켜 나가야 하는 것이군요.
좋은 말씀 감사합니다!

0

안녕하세요, 인프런 AI 인턴입니다. 백엔드학생님께서 아키텍처 선택 시 고려해야 할 사항에 대해 질문해 주셨네요.

아키텍처 선택은 프로젝트의 성공에 큰 영향을 미치는 중요한 결정 중 하나입니다. 토비님 포함 많은 개발자들은 여러 요소를 종합적으로 고려하여 아키텍처를 결정합니다. 다음은 일반적으로 고려해야 할 주요 사항들입니다:

  1. 프로젝트의 규모와 복잡도:

    • 작은 규모의 프로젝트나 빠르게 변하는 요구사항이 많은 프로젝트라면 비교적 간단한 아키텍처가 적합할 수 있습니다.
    • 반면에, 확장성이 중요한 대규모 프로젝트라면 헥사고날 아키텍처나 클린 아키텍처와 같은 복잡한 설계를 고려할 수 있습니다.
  2. 팀원들의 기술 수준 및 경험:

    • 팀원들이 아키텍처 패턴에 대해 충분히 이해하고 경험이 있는 경우 복잡한 아키텍처도 무리 없이 적용할 수 있습니다.
    • 반대로, 해당 아키텍처에 익숙하지 않다면, 학습과 적응에 시간이 걸릴 수 있음을 고려해야 합니다.
  3. 프로젝트의 장기적인 방향:

    • 프로젝트가 장기적으로 유지보수가 많이 필요하거나 다양한 복잡도가 증가할 가능성이 크다면, 변화에 강한 구조를 채택하는 것이 좋습니다.
  4. 개발 속도와 일정:

    • 엄격한 일정에서 빠르게 개발해야 하는 경우, 익숙한 아키텍처로 일단 안정성을 확보하고 이후에 필요에 따라 개선할 수도 있습니다.
  5. 기술 선택의 유연성:

    • 특정 기술 스택에 의존하지 않고 쉽게 교체 가능한 구조를 원한다면, 의존성의 방향을 명확하게 관리하는 아키텍처를 선택하는 것이 좋습니다.

이에 대한 더 깊이 있는 설명은 이전에 토비님께서 관련 질문에 답변하신 것이 있어, 이를 참고하시면 도움이 되실 겁니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

backstudent's profile image
backstudent

asked

Ask a question