#10 main.scala 리팩토링

Main.scala 를 리팩토링 하여서 여러 파일로 분산하였습니다. 파일 스트럭쳐는 밑에 스크린샷을 참조하시기 바랍니다. 참조하실점은, HttpServer 가 전에는 port number 만 constructor parameter 로 받았는데 이제는 ActorRef 도 추가로 받도록 변경되었습니다. 그래서 Main object 를 보시면 아시겠지만 사용자가 request 를 핸들할수있는 Actor 를 생성해서 HttpServer 에 넘겨주게됩니다. 그러면 HttpServer 는 request 가 들어오면 사용자가 넘겨준 handler Actor 에 request 를 parse 해서 메세지 로 보내주고, handler Actor 는 받은 리퀘스트 를 처리한후 response 를 다시 reply 하는 시스템 입니다. 앞으로 이런 API 부분에서는 더 많은 의논이 필요하겠지만, 일단은 이렇게 actor 를 이용해서 server 와 client 를 구분해놓았습니다. 마지막으로, 지금은 single actor 를 사용하지만 나중에 actor pool 을 사용할수 있게하여 performance 를 높이게 하는것도 가능할것입니다. 

P.S: 제가 한국어 프로그래밍 전문용어들을 잘 몰라서 부득히 자꾸 영어를 쓰는점 이해 부탁드립니다 ^^

![Screen Shot 2013-01-12 at 2 19 27 AM](https://f.cloud.github.com/assets/314608/61778/7119d05e-5c88-11e2-8297-4cbe80c1ebcf.png)