http://blog.naver.com/PostView.nhn?blogId=tyboss&logNo=70106055352


1.가급적 객체지향적으로 입력 관련 작업을 알아서 처리하는 객체, 출력 작업을 알아서 하는 객체를 만든다.
  일하는 스머프를 만들자 -_-; (독립스레드)read스머프.doWork(), (독립스레드)write스머프(내부적으로 2차원
  연결리스트로 방들과 들어있는 유저들을 알고 있음).doWork()


selector = reactor 패턴 = 핸들링 객체와 이벤트감지 객체를 분리시키고(옵저버 패턴처럼 중간에 처리하는놈 = 
이벤트와 비지니스 로직의 분리 가능)
핸들링 객체와 이벤트 감지 객체 사이에 중계 역할의 개체(selectionKey)를 두어서 두개의 결합을 느슨하게 한다.


(추가) 내 욕심에 .. 너무 복잡도를 늘려놔서 실제 구현 성공이 어려웠다. 간단하게 시작해서, 돌아가는 코드에 패턴 적용

등 리팩토링  + 기능 구현을 했어야 했다.


너무 복잡하면 시작을 못하게 된다. 문제를 단순화 하는 습관을 들이자!!

by givingsheart 2014. 1. 1. 16:22