저는 현재 큰 프로젝트 폴더 내의 UserControl 인 차트 컨트롤을 만들고 있습니다.하지만 여러 프로젝트의 컨트롤로 사용하기 위해이 컨트롤을 꺼내는 것이 가능한지 궁금합니다. 나는 그 프로젝트에 컨트롤을 포함하는 프로젝트를 넣어야한다고 생각한다. (전에는 일반적인 사용자 컨트롤을 만들지 못했지만 프로젝트 내에서만 사용 했었습니다.)UserControl은 비즈니스 로직 클래스에 의존합니다
이 경우 문제는 차트 컨트롤이 더 큰 프로젝트의 비즈니스 로직에 속하는 사용자 정의 클래스 TimeSeries에 의존한다는 것입니다 . 해당 클래스 내의 업데이트는 사용자가 수신하는 이벤트를 시작하여 차트를 업데이트합니다. 이 TimeSeries 클래스는 컨트롤을 사용하는 다른 프로젝트에도 존재하지만 분명히 "같은"클래스는 아닙니다.
그래서이 사용자 정의 컨트롤을 그대로 분리 할 수는 없습니다. 하지만 이것이 의미하는 바는 여기에 나쁜 구조적 관습이 있습니까? 이 일을 계속하기 위해 어떻게 제안 하시겠습니까?
매우 합리적인 것 같습니다. 많은 인터페이스를 사용하는 데 익숙하지 않아서 그것에 대해 생각하지 않았습니다. 그래서 ITimeSeries (및 기타 관련 인터페이스)를 포함하는 프로젝트 하나, ChartControl 만 포함하는 프로젝트 하나를 가질 수 있습니다. 그런 다음 다른 프로젝트가이 두 가지를 DLL로 참조 할 수 있습니까? – bretddog
네, 그렇게 할 수 있습니다. 또는 작게 시작하고 프로젝트간에 공유되는 모든 것을 포함하는 단일 프로젝트 (ChartControl 및 ITimeSeries)가있는 경우 참조 용 외부 DLL이 1 개만 있습니다. – thelsdj