기능
이름대로 해석 하자면 인터페이스를 끌어낸다는 것!! 이름에서 예상 할 수 있었듯이 이 기능은 한 클래스안의 메서드들을 선택하여 하나의 인터페이스로 정의 하여 줍니다. 아키텍처를 설계하여 프로그래밍하는 경우가 그다지 일반적이 않습니다. 하지만 인터페이스는 프로그램을 더욱더 탄탄히 하기 위해서 반드시 도입 되어야 할 개념입니다. 그렇기 때문에 자동 인터페이스 구현 기능을 가지는 Extract Interface이 유용하게 사용 될 것으로 예상 됩니다..
단축키
Ctrl + R + I
Demo
데모를 살펴 봅시다. Radio Class를 만들었고, Start와 Stop메서드를 만들었습니다. 그리고 Refactor의 Extract Interface를 실행하였습니다.

그럼 아래와 같은 설정창이 뜨게 됩니다. 여기서 우리는 인터페이스 이름을 정의할 수 있습니다. 그리고 새로 생성될 인터페이스의 파일명을 적어 줍니다. 마지막으로 인터페이스를 구현할 메서드를 선택해줍니다.
|
class Radio |
▼실행결과(Extract Interface)
|
class Radio : Refactoring.IRadio |
|
생성된 iRadio.cs 파일 |
2.Promote Local Variable to Parameter
기능
만약 내가 만든 메서드 안에 파라메터로 받아서 쓰고 싶은 로컬 변수가 있습니다. 이때 이 기능을 사용하게 되면 로컬 변수를 자동으로 파라메터로 변환해 줍니다. 우리가 손수 고쳐야 하는 어려움을 보다 쉽게 해결 할 수 있다는 것입니다. 어떻게 이런것이 가능한지 데모를 통해 알아보도록 합시다.
단축키
Ctrl+R+P (beta2에서는 구현안되어있음)
DEMO
아래는 파일을 저장하는 코드입니다. Main메서드에서 FileSave()를 부릅니다. 그런데 여기서 저장되는 파일경로(strPath)를 상황에 따라서 바꾸어 저장하고 싶어 졌습니다. 이러한 상황이라면 선언한 로컬 변수를 파라메터로 바꾸어야 할듯 합니다.
|
static void Main(string[] args) |
바로 이러한 상황일때 우리는 Promote .. 기능을 실행하는 것입니다.
▼실행결과
|
static void Main(string[] args) |
3.정리
오늘은 Refactoring의 2개의 기능에 대해서 정리해 보았습니다.
동영상 단 몇분이면 끝날 얘기지만 이렇게 글로 설명하려니 매우 어렵네요. 이참에 캠따시아를 깔아 녹화라는 것을 시도해 보아야겠습니다.
다음 아티글에서는 Refactoring의 나머지 기능들을 몽땅 정리해 보겠습니다.
참조: http://www.refactoring.com
http://msdn.microsoft.com/library/en-us/dnvs05/html/VS05_refac.asp?frame=true
|
|
'.net' 카테고리의 다른 글
| 프리젠테이션 레이어 설계 (0) | 2007.05.03 |
|---|---|
| ASP.NET or .NET 초보자 FAQ (0) | 2007.05.03 |
| Refactoring 기능 소개1 (향상된 생산성 (0) | 2007.05.03 |
| 닷넷 프레임웤 버전 1.1/2.0 에서 ASP.NET page Model의 개선점 (2) | 2007.05.03 |
| Documents and Settings (0) | 2007.05.03 |
작성자 : HOONS(박경훈)