1. 비슷비슷한 커맨드들이 약간씩 바뀌어서 중복되는데, 보통 어떤 방법으로 줄일 수 있는지?

public ICommand DoCommand1;
private void DoWork1(object parameter)
{
    if ( parameter is A a )
    {
        a.DoSomething1();
        …
    }
}


public ICommand DoCommand2;
private void DoWork2(object parameter)
{
    if ( parameter is A a )
    {
        a.DoSomething2();
        …
    }
}


뭔가 애매함
내가 잘 하고 있는건지는 모르겠고 보통 저 object parameter 매개변수로 컨트롤 보내주게 되던데
동일한 컨트롤을 보내주면서 메소드만 다르게 쓰이는 케이스가 꽤 되어서
패턴들 적용하다보면 구조가 더 복잡해질거같음..

2. Interaction 태그와 이벤트 트리거를 굉장히 많이 쓰고 있는데, behavior의 개념을 보니까 특정 동작이 끝난 후 추가 동작을 덧붙이는 개념이 맞음? 많이 사용됨?

3. 유저컨트롤 내부의 데이터컨텍스트 등을 훅 해오는 편리한 방법이 있음?
재사용할거라고 막 만들다보니 유저컨트롤 안에 또 유저컨트롤이 있고.. 이런 구조가 되었는데, 내부 데이터에 접근하기가 너무 어려워서 코드비하인드에서 작업을 피할 수 없는 경우가 생겨버림
의존성 패러미터랑 이벤트핸들러 결국 다 쓰게 됨

4. 스택오버플로 뒤지다보니 어떤 외국인이 유저컨트롤은 코드비하인드에서 작업해야 편하다고 하는데, 개소리임?