Iterator **: 하나씩 열거하면서 처리한다 ** > 해당 코드에서 '다음', '그 다음'으로 차례차례 진행되며 i를 늘려 가다 보면 배열 arr의 요소 전체를 처음부터 순서대로 검색하게된다 **여기 사용되는 변수 i의 기능을 추상화하여 일반화한 것을 Iterator 패턴이라고한다. ** 예제 > 책장(BookShelf)안에 책(Book)을 넣고 ...
예를 들어, 직류 12볼트 노트북을 교류 100볼트 AC전원에 연결한다고 가정하자 그때 우리는 AC 어댑터라는 장치를 사용한다. AC 어댑터는 '교류 100볼트'를 지금 필요한 '직류 12볼트'로 변환한다 프로그램 세계에서도 이미 제공된 코드를 그대로 사용할 수 없을때, 필요한 형태로 변환한 후 이용하는 경우가 있는데, '이미 제공된 것'과 '필요한 것'사...
ㅇㄹㅇㄹㅇㄹㅇ
dfdfdfd
구체적인 클래스에 의존하지 않고 서로 연관되거나 의존적인 객체들의 조합을 만드는 인터페이스를 제공하는 패턴즉, 관련성있는 여러 종류의 객체를 일관된 방식으로 생성하는 경우에 유용하다싱글톤 패턴, 팩토리 메서드 패턴을 사용생성(Creational)패턴의 하나 - 객체 생
요약 > 브릿지 패턴은 구현(implementation)으로부터 추상(abstraction) 레이어를 분리하여 이 둘이 서로 독립적으로 변화할 수 있도록 한다. 즉, 기능과 구현에 대해 두 개를 별도의 클래스로 구현 한다 기능 클래스 계층 ||=========|
Intro
Intro
상황에 따라 요청을 처리할 객체가 변할 수 있는데 이런 상황에 사용하는 패턴'요청하는 쪽'과 '처리하는 쪽'의 결합을 낮춘다: 발생한 문제number - 발생한 트러블 번호: 문제를 해결하는 추상 클래스: 문제를 해결하는 구현 클래스문제를 처리할 수 있으면 처리하고,
크고 복잡한 클래스들을 처리하기 위한 창구즉, 복잡하고 많은 인터페이스들을 하나의 통합된 인터페이스로 묶는 패턴둘다 구조 패턴으로 거의 같은 방식으로 작동하지만 목적이 다르다어댑터 패턴: 인터페이스를 다른 인터페이스로 변환시키기 위한 용도퍼사드 패턴: 인터페이스를 단순
객체의 상태 정보를 가지는 클래스를 따로 생성하여, 객체의 상태를 저장하거나 이전 상태로 복원할 수 있게 해주는 패턴텍스트 에디터를 사용시 기존 작업을 취소하고 이전 버전으로 돌려야할 때가 있다 이때, 용자가 작업을 실행 취소하기로 하면 앱은 기록에서 가장 최신 스냅샷
'상태'를 클래스로 표현하는 패턴: 객체의 내부 상태가 변경될 때 해당 객체가 그의 행동을 변경할 수 있도록 한다Draft - 문서 검토 상태Moderation - 문서를 공개하나, 현재 사용자가 관리자인 경우에만 공개Published - 출판되어 아무것도 하지않는 상
: 처리하고 싶은 일을 메소드 호출이라는 동적인 처리로 표현하는게 아닌 명령을 나타내는 하나의 객체로 표현그림을 그리는 프로그램마우스를 드래그시 빨간색 점으로 된 선이 그려지고clear 버튼을 클릭시 모든 점이 사라진다즉, 마우스를 드래그할때마다 이 위치에 점을 그려라
context - 모든 expression에서 사용하는 공통 정보가 담겨있다expression(Abstract) - 일련의 규칙을 계산하여 결과값을 반환TerminalExpression - expression을 포함x 계산된 결과를 반환(종료 포함)Non Termina