반응형 DIP2 Web-Client DIP(Dependency inversion principle) 😗 DIP(Dependency inversion principle)란?상위모듈은 하위모듈에 의존해서는 안된다.즉 구현체에 의존하지 말고 인터페이스에 의존해야한다 이다 🧐 Web - Client 의 DIP웹 클라이언트에서 서로 구현체에 의존하지 않아야 한다index.html main.js auth-service.js api-client.js fetch 파일역할index.htmlviewmain.jsUI/사용자 흐름auth-service.js비즈니스 로직api-client.jsHTTP 추상화 fetch실제 구현 기술 api-client.jsimport { mapHttpError, mapUnknownError } from "./errors/error-mapper.js";export async fun.. 2026. 5. 15. 😌 DIP 🧐 DIP란고수준 모듈은 저수준 모듈에 의존하면 안 되고,둘 다 추상화에 의존해야 한다.❌ “구현체를 직접 사용하지 말고”✅ “규칙(인터페이스/추상화)에 의존하자” 🥲 DIP를 사용하지 않는 예시class MySqlDataBase { save(data) { console.log("MY SQL 저장됨", data); }}class UserService { constructor() { // MySqlDataBase의 의존 문제 생김 // OracleDataBase이면 new OracleDataBase() 으로 변경 this.db = new MySqlDataBase(); } save() { this.db.save(); }}const userService = new U.. 2026. 5. 11. 이전 1 다음 반응형