이것은 더 윤리적 인 질문과 같을 것이다. 그러나 나는 그것에 대해 꽤 궁금하다.전략 패턴 : 인스턴스 또는 Object.class?
따라서 Strategy Pattern이 있습니다. 전략 패턴은 Strategy-Interface를 인수로 취하는 여러 구현과 여러 가지 메소드가있는 전략 인터페이스가있는 곳입니다.
Interface: SearchStrategy
Class: StringSearch implements SearchStrategy
Class: IntSearch implements SearchStrategy
etc.
그런
등의 방법이있다 :의이 예로서 다음을 가정 해 봅시다
doSearch(String a, String b, SearchStrategy strategy)
전략 개체는 어떻게 처리합니까? 인스턴스 또는 클래스를 전달 하시겠습니까?
A : doSearch("Hello","World", new StringSearch());
또는
B
:doSearch("Hello","World", StringSearch.class);
그래서, 인스턴스를 생성하고 그것을 통해 통과, 또는 클래스 객체를 통해 전달하고 방법은 인스턴스를 만들 수 있습니다. 더 나은, 깨끗한 방법은 무엇입니까?
어때요? 물론 강력한 서버에서는 성능에 큰 차이가 없지만 리소스가 적고 프로세서가 느린 임베디드 시스템은 어떻습니까?
Java로 생각하면 StringSearch와 IntSearch가 같은 인터페이스를 구현하고'doSearch'가 상호 교환 가능하게 호출 할 수있는 방법을 모릅니다. –
내보기가 좋지 않을 수도 있지만 아직 그 예일뿐입니다. 두 번째 언뜻 보면 IntSearch는 전혀 필요 없습니다.) – Korashen