캔버스 페인팅 앱을 쓰고 있습니다.재사용해야 할 방문자가 정적입니까?
일부 작업에는 마우스로 선택한 도면을 사용할 때마다 사용할 방문자가 있습니다.
Visitor visitor = isStateSelected ? new SelectionVisitor() : DrawVisitor();
나는이 방문자가 정적 만드는 고려, 또는 적어도 그들을 위해 민간 분야를 소개해야 : 순간 내가 좋아 다시 항상 방문자를 다시? 아니면 현재의 방식이 더 깨끗하고 객체 생성이 큰 오버 헤드가 아니라고 주장 할 수 있습니까?
나는 확실히 후자를 주장 할 것이다. 그것들을'static' 또는 persistent하게 만들면 스레드 안전성이 문제가됩니다. 코드를 쉽게 읽을 수 없도록 만드는 것은 버그가 발생하기 쉽기 때문에 거의 좋은 아이디어는 아닙니다. –