“실행보다는 선언 : 선언적인 방식의 프로그래밍은 코드를 변경하지 않으면서 유연성을 제공할 수 있다.”

《프리팩토링》, “Chapter 5. 클래스 작성”, 107p, 한빛미디어

*선언적인 방식의 프로그래밍 : 변수, 상수 등을 소스 코드 안에서 넣는 것이 아니라 소스 코드 밖에서 선언하는 것을 말한다. xml이나 properties 같은 파일을 사용하면 된다. 그냥 txt 형식을 사용할 수도 있는 것 같다. 흠… json도 가능하려나?

나는 각종 프레임워크에서 xml을 사용하는 게 이해가 안 됐다.

xml을 수정하면 서버를 껐다 켜야 한다! ㅡㅡ;; 그게 귀찮았던 것이다.

그런데 얼마 전에 tomcat manager를 사용하면 xml을 수정해도 서버를 껐다 켜지 않아도 된다는 사실을 알게 됐다.

그제서야 xml 사용이 제대로 눈에 들어오기 시작했는데…

오늘 《프리팩토링》을 읽다가 눈에 들어온 구절이 있었다.

선언적인 방식의 프로그래밍을 하면 코드를 수정해서 컴파일하지 않고도 변수 값을 바꿀 수 있는 장점을 제공한다는 것이다.

톰캣 재시작만 없다면, 코드를 컴파일하는 것보다는 xml을 수정하는 편이 더 쉽다.

그러면 소스에는 실행 로직만 넣어 두고, 각종 상수들(예컨대, 비디오 빌리는 프로그램이라면 대여 기간 같은 것)은 따로 뺄 수 있는 것이다.

이것이 ‘선언적 방식의 프로그래밍’의 장점이다.