여러 클래스 파일에서 공통적으로 발생하는 코드를 작성할 때 필자는이를 도우미 파일에 배치하는 경향이 있습니다.도우미 클래스 및 단위 테스트
헬퍼 또는 유틸리티 클래스를 필요한 클래스에 삽입해야합니까? 또는 단순히 "작곡"에 대한 참조가 필요하십니까?
감사합니다.
여러 클래스 파일에서 공통적으로 발생하는 코드를 작성할 때 필자는이를 도우미 파일에 배치하는 경향이 있습니다.도우미 클래스 및 단위 테스트
헬퍼 또는 유틸리티 클래스를 필요한 클래스에 삽입해야합니까? 또는 단순히 "작곡"에 대한 참조가 필요하십니까?
감사합니다.
정적 클래스 인 유틸리티 클래스로 만드는 것이 좋습니다.
종속성은 특정 클래스와 밀접한 관련이 있지만 시나리오에서는 유틸리티 클래스가 필요하다고합니다.
나는 당신이 약간 다른 방식으로 똑같은 일을하는 여러 가지 헬퍼 클래스를 돕지 않는다면 주입의 정교함을 필요로하지 않는다고 말하고 싶습니다. 저는 작곡이 합리적이라고 말하고 싶습니다. 당신은 대안으로 유틸리티 나 툴킷 정적 클래스를 만들 수 있습니다. 그러면 코드가 좀 더 명확해질 수 있습니다.
Composition vs Inheritance를 선택해야하는 이유는 잘 알려진 SOLID 원칙이어야합니다. 그렇다면 "상속에 대한 선호"는 IMO의 결과입니다.
는 IMO 당신은 유틸리티 클래스가;
어쨌든 C# 확장을 사용하면 유틸리티 클래스를 만드는 것이 거의 없습니다.
유틸리티 클래스를 사용하면 주입 할 필요가 없습니다 (정적이며 테스트 할 수 있음). 대신에 컴포지션을 사용하는 경우 종속성 반전 원리에 따르면 "추상화가 아닌 concretions"에 의존해야하므로 컨테이너에서 추상화를 주입 할 수 있습니다.
유틸리티와 도우미의 가장 큰 차이점은 무엇입니까? – Bill
비교 점은 없지만 대부분 유틸리티 클래스는 정적 클래스이므로 유틸리티 클래스에서 서브 클래 싱 할 필요가 없습니다. – TalentTuner