예를 들어서 트리형 자료구조같이 분석이 어려운 자료구조의 경우에,


TreeAnalyzer 클래스를 따로 만들어서, 그냥 생성자를 고차함수로 만들어버리는거지.


이렇게 한번 만들면, Debug코드를 만드는 번거로움을 줄일 수 있다는 장점이 있음.


예를 들면 다음처럼 만들 수 있다.ㅇㅇ


// 1. 트리를 텍스트로 출력하는 아날라이저

public TreeConsoleAnalyzer(Tree tree, Actionstring wrtieAction)

{

this.tree = tree;

this.writeAction = writeAction;

}


// 2. 트리의 다이어그램을 그려주는 아날라이저.

public TreeDiagramAnalyzer(Tree tree, Action<Node> addNode. Action<Edge> addEdge)

{

this.tree = tree;

this.addNode = addNode;

this.addEdge = addEdge;

}