Visitor pattern 은 객체 내부에 있는 알고리즘을 분리 시키는 패턴입니다. 알고리즘을 분리시켜 놓으면 구조를 수정하지 않아도 새로운 기능(알고리즘)을 만들기 쉽기 때문입니다. 저도 공부하면서 와닿지 않는 패턴이었고, 다른 분들도 이해하기 어려운 패턴 중에 하나라고 말씀드리고 싶습니다. 제가 살고 있는 아파트를 말씀드리면, 소독하시는 여사님, 물건을 배달해주시는 택배기사님, 술한잔 하러 놀러오는 친구들이 찾아옵니다. 이 뜬금없는 한 문장에 visitor pattern 의 핵심 내용이 들어있습니다. 아파트라는 정해진 구조(structure)에 많을 일들을 해 주시는 분(visitor)이 오셔서, 문을 열어주면(accept) 많은 일들을 할 수 있게합니다.(algorithm, operation)오늘..
Strategy Pattern 의 컨셉은 어떤 전략(algorithm or strategy) 을 추상화 하여 전략을 쉽게 변경하는데 의미를 둘 수 있습니다. 대부분 이런 말을 하면 크게 와닿지가 않아서 디자인 패턴의 최고 할 수 있는 스타크래프트 게임에 비유해서 말하곤 합니다. 어떤 유닛이든 기본적으로 전략(algorithm, strategy)를 공통으로 뽑아보면, 여러개가 있지만 우선적으로 움직이거나 공격할 수 있는 공통 전략을 추출할 수있습니다.
싱글톤 패턴(Singleton Pattern) 객체를 사용할 때 매번 생성하지 않고 딱 한 번의 생성을 통해 이를 재활용 하는 패턴입니다. 객체 생성 횟수를 줄여서 메모리를 절약가능하긴 하지만, 요즘과 같이 메모리가 넘쳐나는 시대에 크게 와닿지 않습니다. 다른 이유는 없을까요? 다들 사무실에서 프린터를 사용해본 경험이 있을 것 입니다. 네트워크로 연결해서 여러사람들이 쓸 수 있게 연결되어 있습니다. 어떻게 사용되는지 자세하세 살펴 볼까요 사용자1 사용자2 사용자3 ----▷ TCP/IP ----▷ 프린터(요청된 작업 한개를 출력) ... 사용자 N 프린터는 사용자1, 2, 3 으로부터 작업을 언제든지 받을 수 있습니다. 사용자1이 요청하자마자 사용자2 가 다른 작업을 요청하면 똑똑한 프린터는 작업큐 라는..
iterator : 컨테이너에 저장된 원소를 순회하고 접근하는 일반화된 방법을 제공합니다. iterator 를 말할때 항상 빠지지 않는 내용이 container 입니다. **반복자 임의의 컨테이너의 알고리즘을 몰라도 순회를 이어주는 매개 역할을 합니다. 즉, vector, linkedlist 유사한 컨테이너임에도 물리적 자료구조가 전혀 다른 container로 순회하는 방법이 아주 다릅니다. 이렇게 제 각각인 container 들에 대해 순회 방법을 일반화하기 위해 STL 에서 사용하는 개념이 바로 반복자 입니다. custom container 를 구현한다고 했을 때, 가장 많이 사용하는 방법이 std::iterator를 상속받아 inner class로 구현하는 방식 입니다. 우선 custom conta..
보통 디자인 패턴은 크게 보면 아래 3가지 그룹이 있습니다. 5월 한달간 아래 내용에 대해서 천천히 정리를 하도록 하겠습니다. 1. Creational Patterns ( 객체 생성에 관여하는 pattern) 1. Abstract Factory 2. Builder3. Factory Method4. Prototype5. Singleton : http://roadcom.tistory.com/7 2. Structural Patterns ( class 관계 및 구조를 표현하는 pattern) 1. Adaptor2. Bridge3. Composite4. Decorator5. Facade6. Flyweight7. Proxy 3. Behavioral Patterns ( 어떤 행동에 집중하는 pattern)1. Med..
- Total
- Today
- Yesterday
- DWT-DCT
- Digital watermarking
- gPRC
- implementation
- flask serving
- backpropagation
- keras
- SvD
- 네이버웹툰
- dct
- numpy
- Residual Block
- DW
- tensorflow serving
- 캡처방지
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |