Visual Studio 2005, 2008을 설치할때마다 "이건 뭐하는 것일까.."하는 생각이 드는 내용이였는데, 잘가는 blog에서 포스팅 한 결과를 보고 구경중.
Flow chart를 그리고, 그 flow chart에 따른 코드를 넣는 것으로 모든 내용이 다 만들어지고, 그에 따른 흐름이 가능해지는 방법으로 여러가지로 살펴볼 내용들이 많다는 생각이 든다.
각 흐름에 따른 Flow를 만들어주고, 그 Flow에 맞는 code를 작성해주고..
마치 개발을 할때, PM들이 흐름도를 대강 작성하고, 프로그래머들이 코드를 채워넣기만 하면 되는 개발방향과도 너무나도 유사하게 개발을 할 수 있게 되지 않을까.. 하는 생각이 갑자기 든다.
VS2008개발 발표회때 강연자가 했던 이야기가 기억이 난다. "이렇게 편한 툴이 생긴것 자체가 개발자들에게는 악몽이 되고 있습니다. 누구나 다 개발을 할 수 있게 된다면, 우리는 이제는 필요 없게 되어버릴수도 있습니다." 약간의 엄살이 들어가 있는 이야기이긴 하지만, 왠지 모르게 많은 공감이 되고 있는 이야기들.
10월달에 볼 책이 결정이 난건가....
(SYNCmail Background worker를 이걸로 한번 만들어볼까나.)
sample code:
public sealed partial class Workflow1: SequentialWorkflowActivity
{
public string PostalCode
{
get;
set;
}
public Workflow1()
{
InitializeComponent();
}
/// <summary>
/// check code in IF-ELSE
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void EvaluatiePostalCode(object sender, ConditionalEventArgs e)
{
string USCode = @"^(\d{5}$)|(\d{5}$\-\d{4}$)";
string CanadianCode = @"^[ABCEGHJKLMNPRSTVXY]\d[A-Z] \d[A-Z]\d$";
e.Result = ( Regex.IsMatch(PostalCode, USCode) || Regex.IsMatch(PostalCode, CanadianCode) );
}
/// <summary>
/// method when true result from EvaluatiePostalCode
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ValidatePostalCode(object sender, EventArgs e)
{
Console.WriteLine("Right Postal code");
}
/// <summary>
/// method when false result from EvaluatiePostalCode
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void NotValidatePostalCode(object sender, EventArgs e)
{
Console.WriteLine("Wrong Postal code");
}
}