일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Eulerian path
- POJ
- GCD
- graph modeling
- DynamicProgramming
- Segment Tree
- mathematics
- Algospot
- BOJ
- Cycle detecting
- Euler circuit
- Sieve_of_Eratosthenes
- backtracking
- Euler path
- bitmask
- graph
- flows
- dynamic programming
- BST
- BFSDFS
- Eulerian circuit
- Greedy
- CS Academy
- Dag
- scc
- 백준
- hashing
- Shortest path
- disjoint-set
- implementation
- Today
- Total
목록GoF design pattern (2)
그냥 하는 노트와 메모장
* 옵저버 패턴(Observer pattern)[정의] 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들한테 연락이 가고 자동으로 내용이 갱신되는 방식으로 일대다(one-to-many) 방식으로 의존성을 정의한다. [그림 : UML(출처: https://en.wikipedia.org/wiki/Observer_pattern)] 옵저버 패턴은 크게 주제(Subject) 클래스와 옵저버(Observer) 클래스로 이루어져 있다. 주제 클래스는 감시 가능한 데이터를 가지고 있고, 이 데이터들을 보고 싶은 클래스를 옵저버 클래스로 둔다. 옵저버 패턴의 핵심은 감시 가능한 데이터의 변경에 대해 "알람"을 받고 싶은 클래스들이 많을 때 활용할 수 있다. 아날로그적으로 비유하자면 신문 배달이나 방송으로 둘 수 ..
* 프록시 패턴 (Proxy pattern) [정의] - 어떤 객체에 대한 접근을 제어하기 위한 용도로 대리인이나 대변인에 해당하는 객체를 제공하는 패턴 [대표 사례] 1. 원격 프록시: 원격 객체에 대한 접근을 제어 2. 가상 프록시: 생성하기 힘든 자원에 대한 접근을 제어 3. 보호 프록시: 접근 권한이 필요한 자원에 대한 접근을 제어 [ 그림 : UML(출처: https://en.wikipedia.org/wiki/Proxy_pattern) ] 핵심은 클라이언트의 요청을 곧바로 전달하지 않고 필요한 과정을 수행한 뒤에 원격 객체에 요청을 넘겨주는 것이다. 필요한 과정에 어떤 로직이 들어가느냐에 따라 XX 프록시라고 이름을 붙혀준다. 다시 말하지만 프록시 객체의 핵심은 요청을 대신하는 것(delegat..