C#의 정적 클래스 : 모범 사례 및 트랩
정적 클래스의 사용은 항상 개발자에 대한 토론의 초점이었습니다. MSDN은 몇 가지 기본 예제를 제공하지만 올바르게 사용하려면 여전히 더 이해할 수 있어야합니다.
정적 클래스를 사용하는시기
정적 클래스는 다음 유형의 기능을 구성하는 데 능숙합니다.
특정 객체와 관련이없는 기능.
호출하기 전에 물체의 생성을 피함으로써 구현을 단순화합니다.
관련 방법이 공간이라는 시스템의 수학 클래스와 유사하게 의미가 있는지 확인하십시오.
정적 클래스를 사용하지 않으려면
그러나 정적 클래스에는 몇 가지 단점이 있습니다.
다형성 : 정적 방법을 다시 작성하거나 도출 할 수 없으므로 유연성과 확장 성을 제한합니다.
인터페이스를 사용할 수 없습니다. 정적 메소드는 인터페이스 선언으로 액세스 할 수 없으며 전략적 패턴 및 인터페이스 기반 계약에 사용할 수 없습니다.
테스트 챌린지 : - 는 테스트 클래스의 생성을 만들고 생산 코드를 아날로그 객체로 바꾸기 위해 정적 메소드를 다시 작성할 수 없습니다.
팽창 : - 정적 도구 클래스는 종종 관련없는 기능을 축적하여 코드 확장과 유지 관리가 어려워집니다.
과도한 매개 변수 : 정적 메소드에는 일반적으로 선택적 매개 변수를 포함하여 많은 매개 변수가있어 복잡하고 혼란스러운 코드가 생깁니다. -
불필요한 카테고리 인스턴스 :
생성 객체가 정적 메소드에 액세스하도록 강요하면 실제로 인스턴스가 없을 때 불필요한 비용이 발생합니다.
예외
이러한 문제에도 불구하고 정적 방법은 여전히 일부 경우에도 적용됩니다.
실제 도구 클래스 : 특수 용도로 클래스 실행은 실용적인 프로그램 기능이 코드의 유지 보수를 확장하거나 손상시키지 않습니다.
원 -타임 프로젝트 : 장기간 유지 보수 요구가 예상되지 않는 프로젝트에서 정적 방법은 개발 속도를 높일 수 있습니다. -
요약
정적 클래스 사용 여부는 잠재적 인 단점을 신중하게 평가해야합니다. 코드 라이브러리에서 정적 클래스 사용을위한 균형 잡힌 표준으로 코드 라이브러리에서 정적 클래스 사용을위한 명확한 표준을 형성합니다.
위 내용은 C#에서 언제 정적 클래스를 사용해야하며 언제 피해야합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!