다른 dll에 다른 구성 요소를 넣은 다음 너무 많은 dll을 갖고 있음을 알게되었습니다. 하나의 dll을 넣어야 하나, 네임 스페이스를 사용하여 구분해야합니까?물리적 또는 논리적으로 내 DLL을 분리합니까?
0
A
답변
3
하나의 네임 스페이스에 대해 하나의 어셈블리를 만들 필요가 없습니다. 어쩌면 하나의 어셈블리 내에서 중첩 된 네임 스페이스를 사용할 수 있습니다. 여러 어셈블리간에 네임 스페이스를 분할하지 않도록하십시오. 나중에 프로젝트에 들어갈 때 이해하기가 더 어렵습니다.
1
빌드 프로세스에서 ILMerge를 사용하여 많은 프로젝트를 단일 DLL로 결합 할 수도 있습니다.
2
예, 개인적으로 일부 라이브러리를 제작할 때 모든 관련 기능을 단일 어셈블리에 넣는 경향이 있습니다. 엄지 손가락의 기본 규칙은 하나의 DLL이 어떤 방식 으로든 관련된 다른 DLL에 의존하는 경우 일반적으로 DLL을 하나의 DLL로 결합합니다. 물론 두 프로젝트가 동시에 개발되고 있다고 가정합니다.
+0
좋은 아이디어. 공유해 주셔서 감사합니다. – Benny
1
일반적으로 아키텍처 제약 조건을 적용하기 위해 DLL을 사용합니다. 예를 들어 내 데이터 계층에서 내 비즈니스 계층에 대해 알 필요가 없습니다. 이 결과로 어셈블리가 너무 많아지면 컴파일하는 데 많은 시간이 걸릴 수 있습니다. 이 상황에서는 NDepend 같은 도구를 사용하여 구조적 제약을 검사 할 수 있습니다.
관련 문제
- 1. WCF - 서비스 계약 및 부분 파생을 분리합니까?
- 2. 카피스트라 노에서 역할을 어떻게 분리합니까?
- 3. 엔티티를 데이터베이스 모델과 어떻게 분리합니까?
- 4. 어셈블리가 내 DLL을 완전히로드하지 못하겠습니까?
- 5. 물리적 캐시
- 6. 컨트롤러를 논리적으로 구성하는 데 도움이됩니다.
- 7. 타사 스크립트에서 페이로드를 어떻게 분리합니까?
- 8. 임의 통화 문자열 - 모든 부품을 분리합니까?
- 9. 어떻게 disassemblers에서 내 DLL을 보호하기 위해?
- 10. DLL을
- 11. 내 프로그램에 dll을 동적으로로드 할 때의 문제
- 12. exe 또는 dll을 어셈블리로 디 컴파일하는 방법
- 13. 유닛 테스트에서 싱글 톤을 어떻게 분리합니까?
- 14. 데이터베이스에서 사용자 별 데이터를 어떻게 분리합니까?
- 15. 논리적으로 관련된 엔티티에서 필드를 추가 하시겠습니까?
- 16. ASP .net 현재 물리적 위치
- 17. FILESTREAM 데이터의 물리적 위치
- 18. 가변 길이의 물리적 주소
- 19. .NET에서 PATH 내 C# DLL을 검색하지 않습니다.
- 20. 내 MFC 확장 DLL을 정적으로 어떻게 링크합니까?
- 21. 내 C++ 코드의 DLL을 만드는 방법.
- 22. Drupal에서 블로그 블록의 템플릿을 어떻게 분리합니까?
- 23. 두 장소 간의 물리적 거리
- 24. 에 riched32.dll 또는 Riched20.dll을 sourcode
- 25. AppDomain, 어셈블리 .exe 또는 .dll을 실행 중입니까?
- 26. 되풀이 작업을 논리적으로 구성하는 방법은 무엇입니까?
- 27. 다음 두 코드 블록이 논리적으로 동일합니까?
- 28. ASP.NET : 사용자 정의 컨트롤의 렌더링을 논리적으로 나누기
- 29. 이것은 MySQL 저장 프로 시저를 논리적으로 사용합니까?
- 30. iphone SDK의 물리적 이동 추적?
적어도 하나의 dll에있는 내용을 넣어야합니다. – Benny
예. 어셈블리에 정의 된 클래스는 동일한 목적으로 사용되어야합니다. – Seb