데이터베이스 로직이 포함 된 정적 클래스가 있습니다.어떻게 정적 클래스를 정적으로 만들지 않습니까?
이 클래스는 웹 사이트, 웹 서비스 및 미들웨어 구성 요소의 일부로 사용됩니다.
이 클래스의 모든 메소드에 대해 호출자로부터 컨텍스트 정보가 필요합니다. 웹 사이트의 경우 이것은 사용자 정보 일 것이며, 웹 서비스 및 미들웨어 구성 요소의 경우 이것은 호출 서비스를 식별합니다.
이 값은 사용자마다 다를 수 있기 때문에이 값을 config에 저장할 수 없으며이 값을 얻으려는 httpcontext가 항상있는 것은 아닙니다.
이 클래스의 모든 메소드에 새 매개 변수를 쉽게 추가 할 수 있습니다. 또는 정적 클래스에서 변경할 수 있기 때문에 하나의 비 정적 속성이 있지만 그 솔루션 중 어느 것도 매우 우아하지는 않습니다.
내가 고려하지 않은 다른 옵션이 있습니까?
위대한 제목 ^^ "어떻게 내 싱글 톤을 싱글 톤이 아니게 만들 수 있습니까?" – tanascius
@tanascius - 귀중한 +1은 내가 줄 수있는 모든 것을 유발합니다. @ 크리스, 전략을 다시 생각해 볼 수도 있습니다. 일반적으로 전면적 인 담요 진술에서 나는 '정적 DAL이 문제를 요구하고있다'고 말할 것입니다. .2 페소. –
@Sky 샌더스 - 머리카락을 여기에서 나눌 수 있지만 DAL은 SQL 클래스에 대한 linq입니다. 이것이 제 데이터베이스 로직입니다. 이미 답변을 수락하고 비 정적 경로를 거쳤다는 사실을 무시하고 "문제를 묻습니다"진술을 수락 할 수 있습니까? 왜 정적 클래스가 나쁜 생각입니까? –