다음 시나리오에 대한 명명 규칙이 있으면 dll 및/또는 힌트의 올바른 이름 지정에 대한 제안이 필요합니다.C# .net - 인터페이스/구현 시나리오의 DLL 명명 규칙
나는 하나의 dll에 캡슐화 된 인터페이스 정의에 의해 사용되는 인터페이스 정의와 여러 유형이있다. 그럼 다른 DLL 에서이 인터페이스의 구현을했습니다. 이 상황에 대한 "특별한"점은 필자가 응용 프로그램을 개발하는 것이 아니라 회사의 여러 응용 프로그램에서 사용되는 기능 모음 (일명 프레임 워크)을 더 많이 개발한다는 것입니다. 이러한 기능은 MEF를 통한 인터페이스 정의를 통해 액세스되므로이 프레임 워크의 사용자는 일반적으로 dll을 구현하는 데있어 그 사실을 알지 못하거나 중요하지 않습니다 (인터페이스 정의가 들어있는 dll 만 알고 참조해야하기 때문에).). 실제로 드문 경우에는 구현을 DLL로 구현하는 방법을 알기를 원할 수 있습니다.
- 인터페이스 정의와 DLL이이 사용자가 참조하는 DLL이기 때문에 잘 명명 할 필요가 : 는 내 DLL 이름 지정에 대한 몇 가지 요구 사항을 만들었습니다.
- 인터페이스 정의 dll의 네임 스페이스는 매우 잘 명명되어 있어야하며 (사용자 인터페이스가 매우 직관적이어야하므로) 사용자가이 네임 스페이스에서이 정의를 실제로 기대할 수 있습니다. 네임 스페이스가 솔루션 구조와 동일한 최적의 위치가됩니다.
- 구현 DLL의 이름은 매우 명확해야하므로 사용자는 작업 디렉토리에서 dll을 식별하여 제거하고 자체 구현을 설치할 수 있습니다.
- 구현의 네임 스페이스는 내부적으로 만 사용되므로 별 문제가되지 않습니다.
- dll 이름은 너무 길어서는 안됩니다.
첫째, 나는 그룹 DLL에 모든 "서비스"MyCompany라고 할 수 있습니다 예를 들어 있기 때문에 하나의 DLL에있는 특정 유형의 모든 인터페이스 정의, 즉 아주 잘라는 이름의 네임 스페이스를 만드는 것 그룹에 아이디어를 내놓았다 .Services.dll, 네임 스페이스 MyCompany.Services를 만드는 해당 루트에 모든 정의와 유형을 넣으십시오. 따라서 솔루션 구조가 네임 스페이스와 동일하게 유지됩니다 (유용하거나 그렇지 않은 경우 여기에서 설명 할 수도 있음).
는하지만 그것은 큰 문제가 발생하는 경우를
I 서명 DLL을 내 MyCompany.Services.dll 뭔가를 변경, 나는 이러한 변화는이 n 개의 DLL 중 하나에 영향을 미치는 경우에도 모든 구현은 DLL을 다시 컴파일해야합니다. 이 시점에서 필자는 각 인터페이스 정의 및 유형을 자신의 dll에 넣을 것을 고려했습니다 (이 게시물의 시작 부분에 설명되어 있음). 가치
두 개의 단락을 추가하는 것은 나쁜 생각이 아닙니다. –
난 그냥 그랬어, 편집기에서 복사 된 텍스트를 처리 할 수없는 것 같습니다 ms word =) – Basti
.Net (내 생각에, 언급되는 MEF로 인해)? C++? 태그가 이것을 지정하지 않습니다 ... –