최근에 작업 중인 모노레포 프로젝트에서는 어댑터 패턴을 활용하고 있습니다. 따라서 어댑터 패턴의 적용성과 이점에 대해 알아보려 합니다.
어댑터 패턴이란?
어댑터 패턴은 구조적인 디자인 패턴 중 하나로, 두 클래스나 객체가 서로 다른 인터페이스를 가지고 있을 때 이들을 함께 작동시키기 위해 사용됩니다. 예를 들어, 해외에서 한국의 전자제품을 사용하려면 전원 어댑터가 필요한 것처럼, 어댑터 패턴은 하나의 인터페이스를 다른 인터페이스로 변환하여 두 구성요소가 함께 작동하도록 만듭니다.
어댑터 패턴의 구성요소는 3가지가 있습니다.
Target: 인터페이스로, 클라이언트가 사용하려고 하는 명세입니다.
Adaptee: 실제 작업을 수행하는 클래스나 객체입니다.
Adapter: Target 인터페이스를 상속받고, Adaptee의 인스턴스를 내부에 포함하여 중개자 역할을 합니다.
어댑터 패턴의 주된 목적은 기존의 코드(Adaptee)를 변경하지 않고 새로운 인터페이스(Target)에 맞게 활용하는 것입니다. 이로써 코드의 재사용성이 높아지고, 유지보수도 쉽게 됩니다.
어댑터 패턴의 장점 in 모노레포
인터페이스 통일: 서로 다른 프로젝트나 서비스가 다양한 API나 데이터 포맷을 사용할 수 있습니다. 어댑터 패턴을 이용하면 이를 통일된 인터페이스로 관리할 수 있습니다.
재사용성: 공통된 로직, 예를 들어 비동기 통신,을 어댑터로 만들어두면 여러 프로젝트에서 쉽게 재사용할 수 있습니다.
유연성과 확장성: API나 서비스가 변경되면, 해당 어댑터만 수정하면 됩니다. 이로 인해 모든 프로젝트에 쉽게 적용할 수 있습니다.
어댑터 패턴은 SOLID 원칙 중 열린/닫힌 원칙(OCP)을 잘 따르는 예시입니다. 즉, 소프트웨어 구성요소는 확장에는 열려 있고, 변경에는 닫혀 있어야 합니다. 어댑터 패턴은 이 원칙을 지키면서도 코드의 재사용성과 유지보수성을 높여주기 때문에, 모노레포 환경에서 특히 유용하게 사용될 수 있습니다.
F-Lab 에서 주니어 개발자들이(사실 개발자라면 누구나) 보시면 좋을 아티클 모음을 공유해 주었네요!
검색엔진부터 비동기 처리, NoSQL 등 다양한 분야의 아티클들이 공유되어 있으니 관심있으신 분들은 보시면 좋겠습니다.
F-Lab 에서 공유해주신 아티클 주제를 나열해보면 다음과 같습니다.
📌 구글이 직접 말하는 검색엔진의 원리 (tali.kr)
📌 검색 엔진은 어떻게 작동하는가 (xo.dev)
📌 네이버의 검색엔진의 특징과 알고리즘 (tistory.com)
📌 [네이버 블로그]네이버 검색의 원리 : 네이버 블... 더 보기
많은 회사들이 채용 프로세스의 과정 중에 하나로 코딩 테스트를 가지고 있습니다. 벼락치기로 준비하기도 힘들 뿐더러 요령을 알아야 하기 때문에 취준생들이 꽤나 골치아파 합니다.
뻔한 말이지만 꾸준히 하는 것 밖에는 답이 없는 것 같습니다. 오늘은 '코딩 인터뷰를 위한 60가지 리트코드 문제'를 가져왔습니다.
구글 시트로 깔끔하게 정리된 버전도 있어서 후다닥 가져왔습니다. 저자에게 감사를(_ _)
https://docs.google.com/spreadsheets/d/1Y98QKaYPazWImEt1nA_ocp... 더 보기