본문 바로가기

어탭터패턴2

클린 소프트웨어 책에서 말하는 어탭터 패턴이란? 디자인 패턴중 어탭터 패턴이라는 것이 있습니다. 위키에서 말하길 어탭터 패턴은 어댑터 패턴(Adapter pattern)은 클래스의 인터페이스를 사용자가 기대하는 다른 인터페이스로 변환하는 패턴으로, 호환성이 없는 인터페이스 때문에 함께 동작할 수 없는 클래스들이 함께 작동하도록 해준다. 클린 소프트웨어 예시로 설명하는 어탭터 패턴을 활용하는 예시는 아래와 같습니다. 위와같은 상황에서 Light가 서드파티에서 사온 것이라서, 소스코드가 없을 수도 있습니다. 아니면 Switch로 제어하고 싶은 다른 클래스가 있는데, 그 클래스가 Switchable로부터 파생받을 수 없다면 어떻게 해야 할까요? 여기서 ADAPTER 패턴이 등장합니다. 아래 그림은 클라이언트가 제어할 수 없는 Light 라는 클래스가 등장할.. 2020. 11. 8.
adapter 패턴, 이렇게도 쓰일수 있구나(with IDDD) 디자인 패턴의 착각 중에 모든 코드는 디자인 패턴에 나온 코드가 마치 책에서 나온 내용처럼 나올 것이라는 부분에 존재합니다. 오늘도, 다시한번 위와 같은 디자인 패턴의 착각을 느낍니다. IDDD_sample 코드 중, 서비스 단에서 팩토리의 사용 예를 설명하는 부분에서 흥미로운 부분을 발견했습니다. 레이어드 아키텍처에서 TranslatingCollaboratorService.java 의 존재는 이름과 같이 Collaborator 라는 협력 객체를 해석시켜주는 역할을 하는 클래스입니다. 어떻게 해석할 수 있는가에 대한 질문은, 이 글에서 논외이기 때문에 제외하겠습니다. 우리가 흔히 아는 adapter 패턴이 사용하는 client입장에서는 factory로서 동작할 수 있다는 것이 이 글의 요지입니다. 그럼 .. 2020. 8. 23.