2006/07/22 06:48 Developer
디자인 패턴, 나에게도 유용한가?
ologist :
저는 최근들어서 패턴의 중요성을 더 느끼고 있습니다. 과거에는 패턴을 공부하고 프로젝트에 적용하려 애를 썼었습니다. 지금 거의 패턴을 잊어버렸다고 생각을 하고, 일단 프로젝트를 어느정도 구현을 하고, 중복코드를 없애는 작업을 했습니다. 그 다음 패턴책을 읽어보니 그 안에 중복코드를 없애려고 할때 생각했던 고민들이 있었습니다. 패턴을 위한 패턴이 아니라 중복코드를 줄이고, 유지보수 비용을 줄이기 위한 경험이라고 생각을 하면 반드시 필요하다고 얘기할수 있습니다
안영회님 :
넵.. 동감입니다. 그러나, 그러한 접근은 리팩토링에 가깝죠.
리팩토링을 하다 보면 패턴에 가까워진다는 설명이 자연스러울 수 있을 것 같습니다. 자주 코드를 개선하는 과정에서 결과를 만들어내는 것이 자연스러우니까요.
물론, 충분히 훈련된 분들에게는 바로 직관을 주는 패턴이 더 유용할 수 있겠죠.
디자인 패턴, 나에게도 유용한가?
http://blog.empas.com/ahnyounghoe/14674430
위에 있는 글은 안영회님의 글에서 내가 덧글을 단 내용과 그 답변을 가져왔다. 내 블로그에도 글을 남길만한 가치가 있는 듯해서 내용을 가지고 와서 아래와 같이 추가를해서 글을 적어본다. 조만간 안영회님의 블로그가 이사를 하면 덧글이 사라질 가능성이 많을 듯해서..^^;
나의 못다한 얘기 :
리팩토링에 가까운 접근이지만, 리팩토링이 필요한 소스를 만들어 내지 않는 것도 좋은 품질의 소스라고 생각을 합니다. 개발과 유지보수 중에 리팩토링이 반드시 필요하기는 하지만, 어느정도 수준에 올라섰다면 일부러 리팩토링되는 소스를 만들 필요는 없을 듯 합니다. 정형화되고 자주 리팩토링 되는 소스구조라면 디자인 패턴이 적용이 되어야 합니다.
숙련된 개발자들에게는 패턴은 정말 좋은 친구죠. 리팩토링의 리스크를 사전에 최소화 할수 있을테니까요.
PS.
1. 숙련된 개발자라는 표현에서 애매한 부분이 있지만, 초보 or 범상한 개발자들이 훌륭한 개발자들이나 숙련된 개발자들에 가깝게 가기 위한 자기계발을 충분히 해야 한다는 일반적인 가정을 하고 이야기를 적었습니다...^^
2. 안영회님 말씀처럼 시간이 갈수록 기초의 부족이 느껴지는 왜일까요? 2006년은 다시 기초부터 공부하는 해로 정했습니다. 오래만에 회사 사내강의로 자바 fundamental & sevlet,jsp 강의를 들었는데, 재밌더군요...ㅎㅎㅎ
다음과 같은 글이 있어서 추가로 적습니다. 위에 적은 글과 비슷한 내용의 article이 이미 있네요...^^;
Pre-Factoring
http://blog.naver.com/django44/40026544455
http://www.oreillynet.com/pub/a/network/2005/11/15/what-is-prefactoring.html