본문 바로가기
반응형

SWE326

[디자인 패턴] Iterator Pattern 이터레이터 패턴 Iterator Pattern 이터레이터 패턴 개념 예를 들어 객체들을 배열, 스택, 해시테이블 등의 컬렉션에 넣어서 보관할 수 있다. 그런데 클라이언트가 해당 객체들에게 일일이 접근하는 작업을 원할 수 있다. 이런 경우, 사용하는 것이 이터레이터 패턴이다. 객체를 저장하는 방식은 보여주지 않으면서도 클라이언트가 객체들에게 일일이 접근할 수 있게 해주는 방법이다. 이 패턴의 구현 방법은 반복 작업을 Iterator 인터페이스를 이용하여 캡슐화 하는 것이다. 예시 아침 메뉴를 파는 팬케이크 하우스와 저녁 메뉴를 판매하는 식당이 합병하려고 한다. 이 때, 서로 각자의 스타일로 메뉴를 구현해놨는데, 두 메뉴를 합쳐서 사용해야 한다. 두 메뉴를 합치는 방법에 대해 이야기 해보자. 참고로 팬케이크 하우스는 Arr.. 2021. 10. 30.
Qt 마우스 아이콘 QCursor XCursor library Qt는 XCursor 라이브러리를 지원한다. 이 라이브러리는 테마에 따라 full color를 2021. 10. 22.
리눅스 GDB GDB 3가지 방법 - native : 디버깅하는 머신과 프로그램을 실행하는 머신이 같음 - remote : 디버깅하는 머신과 프로그램을 실행하는 머신이 다름 - simulator 현재 실행 중인 프로그램 pid 확인 $ ps | grep [프로그램명] root 7160 16.5 14.0 5075680 1701716 pts/0 Sl 19:04 0:38 [프로그램명] 현재 실행 중인 프로그램에 gdb 붙이기 $ gdb [프로그램명] 7160(pid) 스레드 상태 보기 (gdb) info threads 디버거가 붙어 있는 스레드 변경하기 (gdb) thread 파일,함수에 breakpoint 설정 (gdb) b main_conf_**.cpp:get_audio_*** b [파일명]:[함수명] Breakpoin.. 2021. 10. 22.
[디자인 패턴] Template Method Pattern 템플릿 메소드 패턴 Template Method Pattern 템플릿 메소드 패턴 개념 템플릿 메소드 패턴이란 메소드에서 알고리즘의 골격을 정의한다. 그리고 알고리즘의 여러 단계 중 일부는 서브 클래스에서 처리한다. 예시 커피 만드는 법과 홍차 만드는 법은 같은 알고리즘을 가지고 있다. 커피 만드는 법 홍차 만드는 법 1) 물을 끓인다. 2) 끓는 물에 커피를 우려낸다. 3) 커피를 컵에 따른다. 4) 설탕과 우유를 추가한다. 1) 물을 끓인다. 2) 끓는 물에 차를 우려낸다. 3) 차를 컵에 따른다. 4) 레몬을 추가한다. (1)번과 (4)번에 어떤 재료를 사용하느냐의 차이만 있을 뿐 큰 알고리즘은 같다. 이럴 경우 (1)~(4)를 하나의 알고리즘으로 메소드에 넣고, 차이점이 있는 (2)번과 (4)번만 각각의 서브 클래스.. 2021. 10. 17.
반응형