예를 들어서 트리형 자료구조같이 분석이 어려운 자료구조의 경우에,
TreeAnalyzer 클래스를 따로 만들어서, 그냥 생성자를 고차함수로 만들어버리는거지.
이렇게 한번 만들면, Debug코드를 만드는 번거로움을 줄일 수 있다는 장점이 있음.
예를 들면 다음처럼 만들 수 있다.ㅇㅇ
// 1. 트리를 텍스트로 출력하는 아날라이저
public TreeConsoleAnalyzer(Tree tree, Action<string> 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;
}
댓글 0