[.NET/ASP.NET] - Custom Config 에 Intellisence 날개를 달자
[.NET/Visual Studio] - Custom Extension 에 Intellisence 날개를 달자


Custom Config
에 Intellisence 날개를 달자
 
Configuration 란? 우리가 웹폼이든 윈폼이든 프로젝트를 생성하면, web.config / app.config 와 같은 Configuration 파일이 생깁니다. 이런 .config 확장자가 붙는 파일을 "구성 파일" 이라고 부릅니다. 어플케이션이 구동될때 이 구성파일에 어플케이션이 동작하기 위한 환경 변수를 사용하게 되고, 환경 변수의 값이 변하게 되더라도 재컴파일 없이 환경 변수의 값을 변경할 수 있는 장점이 있습니다. 때문에, .config 파일을 사용한다는 것은 이미 잘 알고 있을 것입니다.
 
.NET Framework 은 이 구성파일을 확장할 수 있는 방법 또한 제공해 주고 있습니다.
이 부분에 대해서 자세히 잘 설명해 놓은 아래의 사이트를 참고하시면 좋을 것 같습니다.
 
MSDN,
방실님의 Configuration을 Custom으로 사용해보자
TAEYO.NET 의 .NET 에서 나만의 Configuration 만들기
즈믄님의 .Net Framework v2.0을 이용한 사용자 정의 Config File Manager
 
 
Custom Configuration 장단점
 
아래는 Custom Configuration 을 실제 적용한 web.config 입니다.
 
 
l 장점
1. 알아보기 쉽다
2. 관리가 용이하다


XML 요소를 확장시켜 요소의 이름들을 정의하고 요소의 이름으로 기능을 유추할 수 있기 때문에 알아보기가 쉽습니다.. 그렇기 때문에 깔끔하게 유지보수도 가능합니다.

l 단점
1. 늘어나는 요소(Element)와 속성(Attribute) 만큼 코드를 만들어야 한다.
2.
Custom Configuration 은 Intellisence 가 지원되지 않아 요소와 속성 규칙을 모두 외워야 한다.

코드를 만들어 놓으면 재활용성에서 유리한 점이 있긴 하지만 Intellisence(자동완성기능) 이 지원되지 않습니다. 은근히 만든 소스코드를 보면서 요소나 속성을 적기도 합니다. 개발자가 Custom Configuration 을 만들어 쓴다는 것 부터가 굉장히 노가다성 작업이 될거라 생각합니다.

 
 
그렇다면, 이 .config 의 XML Schemas 는 어디에~?
 
바로 .config 와 같은 구성파일은 XML 로 되어있습니다. 그럼, 이 XML 의 스키마를 정의하는 Schema 가 어디엔가 존재할 수 도 있다라는 것입니다.
 
그렇습니다, .config 에 대한 XML Schema는 다음과 같은 경로에서 찾아 볼 수 있답니다.
%ProgramFiles%\Microsoft Visual Studio 9.0\Xml\Schemas\DotNetConfig.xsd
 


위 폴더를 좀 더 살펴보시면, XHTML, SOAP, Code Snippet, Sitemap 과 관련된 대부분의 XML Schemas 가 있는 것도 알 수 있습니다.
 
 
XML Schemas 확장하기
 
이 포스팅에서는 XML Schema 에 대한 내용은 자재하도록 하고, 아래의 MSDN 에 보시면 Schema 의 각 요소별로 설명이 잘 되어 있으니, 참고하시면 좋을 것 같습니다.
http://msdn2.microsoft.com/en-us/library/ms256142.aspx

아래의 그림은 Umc.Core 프레임웍에 대한 .config XML Schema 입니다.
 
클릭하면 확대됩니다
 
요소별로 XML Schema 를 정의해 주고, 저장하시면 바로 .config 에 적용됩니다.
 
 
현대 개발자들에겐 자동완성기능은 필수가 아닌 필수가 되어 버렸죠. 시간을 투자하여 만들어 놓은 Custom Configuration 클래스들을 사용하려고 더 이상 소스코드를 뒤적거리지 않아도 됩니다. 한번 XML Schema 를 작성해 놓으면 정말 순식간에 .config 를 작성할 수 있기 때문입니다.
하지만 이 Schema 의 배포에 대한 문제도 신경써야 하지만, 프레임웍 설치시에 자동으로 XML Schema 를 변경하도록 하면 큰 문제는 되지 않을 것 같네요.
 
 
여기까지 포스팅을 마치도록 하고, 요즘 Umc 는 방통대 중간고사가 끝나서 너무너무 행복하답니다. ^^ 하지만 이어지는 출석수업의 압박이 부담스럽네요. 바람은 차갑고 옆구리는 시리고… 환절기 감기 조심하시고 멋진 일요일 되세요.
저작자 표시 비영리 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 땡초 POWERUMC

댓글을 달아 주세요