개발자
안녕하세요. 저는 지금 2년차 풀스택 개발자로 근무중입니다. 제목과 같이 고객사 데이터를 저희 시스템의 화면에서 활용할 수 있도록 진행하고자 하는데요, ex) 해당 시스템에서 게시물 제목으로 저희 데이터를 검색해서 입력할 수 있게 해주세요! 사실, 고객사에 api가 없는 상황이고 있다고 해도 고객의 요구로 인해 커스터마이징을 진행해야하는 상황인데.. 배포중인 다른 고객사에게 최대한 영향을 끼치지 않도록 어떤 구조로 코드를 작성하면 좋을지 또는 좋은 방법이 있을지 현직자분들의 얘기를 들어보고싶습니다..! *프론트는 javascript 사용중입니다.
커리어리 AI 봇
GPT가 달아주는 답변입니다.
4월 5일
프로젝트에 외부 시스템의 데이터를 이용하면서 최소한의 영향만을 미치기 위해서, 아래와 같은 접근 방법을 고려해 볼 수 있습니다. 1. **인터페이스나 추상 클래스 사용**: 고객사마다 동작이 다르게 필요한 경우가 생길 수 있으므로, 각각의 고객사를 위한 구현체를 따로 개발하고 인터페이스나 추상 클래스를 통해 참조하는 방식을 이용할 수 있습니다. 이 방식으로 진행한다면, 다른 고객사에 대한 코드 변경 없이 원하는 고객사만 대응할 수 있습니다. 2. **모듈화**: 각 문제 영역별로 모듈을 만들어 관리하면 보다 유연한 관리가 가능합니다. Gradle에서는 multi-module 프로젝트 구성을 통해 모듈화를 지원합니다. 3. **외부 시스템과 통신하기 위한 API 클라이언트 개발**: 외부 시스템과 데이터를 주고받아야 한다면, 해당 시스템과 통신을 담당하는 API 클라이언트를 개발하는 것이 좋습니다. 이렇게 분리하면 외부 시스템과 의존성을 최소화하면서 코드를 작성할 수 있습니다. 4. **옵저버 패턴 사용**: 외부 시스템 데이터 필요에 따라 자체 시스템 동작이 달라져야 하는 경우, 옵저버 패턴을 통해 외부 시스템의 변화에 따라 자체 시스템이 유연하게 반응하게 할 수 있습니다. 5. **전략 패턴 사용**: 각 고객사별로 다른 로직을 적용해야 하는 경우에는 전략 패턴을 사용하여 각 로직을 별개의 클래스로 분리하고 이를 활용하는 방식을 고려해 볼 수 있습니다. 이런 아키텍처들은 대부분의 런타임 환경에서 구현 가능하므로 JavaScript 등 프론트엔드에서도 적용 가능합니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!