[GoF] Adapter 패턴 : 사이에 끼워 재사용한다(1) [제공된 것과 필요한 것 사이의 차이를 메워주는 패턴]
·
◈ Study/디자인패턴(GoF)🥞
- Adapter 패턴 : 사이에 끼워 재사용한다 Adapter 패턴은 제공된 것과 필요한 것 사이에 들어가서 그 차이를 메워주는, 호환되지 않는 인터페이스를 가진 객체들이 협업할 수 있도록 하는 구조적 디자인 패턴이다. Wrapper 패턴이라고도 불린다. - 어떤 경우에 사용할까? Adapter 패턴은 기존 클래스에 한겹 덧씌어 필요한 클래스를 만든다. 즉, 기존 클래스는 충분히 테스트되어 버그가 없는 것을 알기에 Adapter 역의 클래스를 중점적으로 살펴보면 프로그램 검사가 매우 편해진다. 새로운 인터페이스(API)에 맞추기 위해 기존 클래스의 소스를 수정하게 된다면, 기존 클래스 또한 다시 테스트 해야 한다. 소프트웨어 버전 업에도 유용하게 사용된다. Adapter 패턴을 사용하면, 신버전과 구버..
[GoF] Iterator 패턴 : 처리를 반복한다 [전체를 검색하고 처리를 반복하는 패턴]
·
◈ Study/디자인패턴(GoF)🥞
- Iterator 패턴 : 처리를 반복한다 Iterator 패턴은 컬렉션의 요소들의 기본 표현​(리스트, 스택, 트리 등)​을 노출하지 않고 그들을 하나씩 순회할 수 있으며, 무엇인가 많이 모여 있을 때 이를 순서대로 가리키며 전체를 검색하고 처리를 반복하는 패턴이다. - 어떤 경우에 사용할까? 그냥 반복문을 돌리면 될텐데, 왜 번거롭게 Iterator라는 걸 만들어서 사용하는가? 가장 큰 이유는 Iterator를 사용함으로 구현과 분리하여 반복할 수 있다. Iterator it = bookShelf.iterator(); while(it.hasNext()) { Book book = it.next(); System.out.println(book.getName()); } 위의 while 문에서는 hasNe..
[정처기 실기] 디자인 패턴(Design Pattern) [서버 프로그램 구현 - 디자인 패턴]
·
◈ 자격증 공부/정보처리기사🔱
- 디자인 패턴(Design Pattern) 생성 패턴(Creational Pattern) 구조 패턴(Structual Pattern) 행위 패턴(Behavioral Pattern) 1. 생성 패턴(Creational Pattern) 클래스나 객체의 생성과 참조 과정을 정의하는 패턴 - 추상 팩토리(Abstract Factory) 인터페이스로 객체들의 그룹을 생성하여 추상적으로 표현. 구체적인 클래스에 의존 X → 연관된 서브 클래스를 묶어 한 번에 교체 가능 - 빌더(Builder) 작게 분리된 인스턴스를 건축 하듯이 조합하여 객체 생성 → 객체 생성 과정과 표현 방법 분리. 동일한 객체 생성에도 다른 결과 만들 수 있음 - 팩토리 메서드(Factory Method) 객체 생성을 서브 클래스에서 처리하..