Contenu connexe
Similaire à Interceptor (20)
Plus de Kyungryul KIM (20)
Interceptor
- 10. Interceptor
register
remove
Interceptor Dispatcher
callback
Concrete
Framework
- 11. Interceptor
Context
Object
Concrete
Interceptor
accessor Framework
mutator
- 22. Benefits
• .
• Separation of concerns.
• .
• (Layer symmetry)
• .
- 23. Liabilities
• .
• Malicious or erroneous interceptors.
• Potential interception cascades.
Notes de l'éditeur
- \n
- \n
- 브로커패턴으로 object request broker(ORB)를 구현. \n분산 어플리케이션을 구현하는데 편의를 제공하는 서비스 개발.\n통신 서비스(연결 관리, 프로토콜)를 제공.\n이외 트랜젝션, 로깅, 비표준 통신(공유 메모리), 모니터링, 디버깅.\n
- \n
- \n
- 프레임워크는 코어 아키텍쳐의 수정 없이 서비스를 추가할 수 있어야 한다.\n프레임워크에 어플리케이션 레벨 서비스의 통합할 경우 기존 프레임워크 컴포넌트에 영향을 끼쳐서는 안된다.\n어플리케이션이 자신의 동작을 제어하고 모니터링할 수 있어야 한다.\n
- \n
- 이벤트 처리.\n
- concreate interceptor 는 interceptor 인터페이스를 구현한다(specialize)\n프레임워크에서 발생하는 이벤트를 처리하기 위한 hook method를 구현한다.\n
- \n
- context object : framework 접근과 제어에 사용. 이벤트관련 정보 포함.\naccessor methods : framework로 부터 정보 획득.\nmutator methods : framework의 행위 제어.\n
- \n
- \n
- interceptor 상속 받은 concrete interceptor 구현.\ninterceptor를 dispatcher에 등록. iterator pattern.\nconcrete framework는 컨텍스트 생성/dispatcher에게 알림.\n
- \n
- 상태 머신은 필요한 interceptor의 식별하게 하고, concrete framework 의 행위를 정위하는데 도움이 된다.\n
- \n
- \n
- \n
- Proxy에서 부가적인 작업을 수행한다.\n
- 특별한 concrete 프레임워크(컨테이너)를 통해 기반 서비스(트랜잭션, 시큐리티, persistence)를 구현하지 않는다.\n
- 확장성과 유연성-concrete framework를 수정없이 추가,수정,제거할 수 있다.\nSeparation of concerns - interceptor를 기존 어플에 영향을 주지않고 투명하게 추가할 수 있다. 개발자는 로직에만 전념할 수 있다.\n모니터링/제어 - 관리자툴, 디버거, 로드 밸런싱, fault tolerance.\n대치 레이어-클라이언트/서버 각각의 interceptor 구현.\nresuablility-interceptor를 재 사용할 수 있다.\n\n\n
- erroneous interceptors-timeout\ninterception cascades-concrete framework의 새로운 이벤트를 발생시키는 행위 변경하는것은 시스템 퍼포먼스 낮추고 데드락을 가능성을 만든다.\n