Saturday, October 24, 2009

기출 2009-4

Singleton이란?
==> Obeject Oriented Programming에서 Class가 오직 하나의 instance를 가지도록 하는 패턴이다. 주로 중요한 자원을 관리하고자 할때, 다수의 instance가 생성되지 않도록 만들어준다. 예를 들어 DB에 연결을 안정적으로 하기 위해 쓴다.
예를 들어, 컴퓨터를 작동시키는 facade 클래스가 있다고 가정한다. 컴퓨터를 가동시키기 위한 여러가지 process들은 단지 하나의 object가 생성되어서 execute되는 것을 보장해야 한다.
singleton 패턴은 Global variable를 제한 할 때 사용한다. Global varibale들을 하나의 single 클래스에 모아 둔다. Singleton 패턴자체가 Global class가 된다는 문제점이 있지만, namespace 충동 문제를 해결하고 Global varialbe을 하나의 point에서 관리할 수 있는 장점이 있다.

Refactoring이란?
==> 프로그램의 코드를 작성한 이후, 외부적인 동작은 그대로 유지하면서 코드 내부의 구조를 변경시켜 성능을 향상하는 것이다. 이 때 "주목할 만한" 행동의 변화가 있으면 안된다.

No comments: