본문 바로가기

어뎁터패턴

[클린코드 완독하기] Chapter 08 모호한 경계를 구분짓기 Chapter 08. 모호한 경계를 구분짓기 01 경계 오픈소스, 라이브러리를 안쓰는 프로젝트는 없다. 우리가 만든 코드에 외부에서 들어온 코드를 병합해야한다. 외부 코드는 외부에서 만든 코드인데, 외부 시스템과 호출하거나 단순히 외부에서 만들어진 코드일 수 있다. 우리 코드와 외부 코드를 깔끔하게 통합시키기 위해 경계를 잘 지어야 한다. 02 경계 짓기 (1) 우리 코드를 보호하기 캡슐화 (Encapsulation) 📍 객체의 실체 구현을 외부로부터 감추는 방식 📍 Sensor를 관리해야 한다. Sensor는 외부에서 사용된다. Sensor Id와 Sensor 객체로 저장하고 싶어서, Map을 사용한다. 하지만 Map을 그대로 사용하면 Map이 가진 clear()가 외부로 노출된다. Sensor의 '외.. 더보기
[디자인패턴] 어뎁터 패턴 Adapter Pattern 📌 어뎁터 패턴 Adapter Pattern Adapter Pattern 에서는 실생활에서 많이 쓰이는 어뎁터를 떠올리면 된다. 흔히 돼지코라고 불리는데 100v를 200v로 변경해주거나, 그 반대로 해주는 변환기를 뜻한다. 📍 어뎁터 패턴의 원칙호환성이 없는 기존 클래스의 인터페이스를 변환하여 재사용 할 수 있도록 한다. SOLID 중에서 개방 폐쇄 원칙OCP를 따른다. ❗ Main 클래스 12 HairDryer hairDryer = new HairDryer(); // 110v 구현 클래스 생성 connect(hairDryer); 15 Cleaner cleaner = new Cleaner(); 16 connect(cleaner); 오류가 뜬다. connect()은 매개변수로 Electronic110v만.. 더보기