2010-08-04 2 views
0

웹 프로젝트, BLL 프로젝트 및 DAL 프로젝트가있는 Visual Studio 솔루션이 있다고 가정 해 봅니다. BLL에 의해 참조 된 인터페이스 DAL있는 내 SQL 코드를 유지하는 저장소 패턴을 따라 노력하고있어.다중 프로젝트 솔루션에서 유틸리티/컴패니언 프로젝트를 구성하는 방법

나는 오류 처리, 사용 로깅 및 유틸리티 기능으로 간주 될 수있는 다른 것들 (예 : 비즈니스 사양이 아님)에 대한 몇 가지 일반적인 해결책이 있습니다. 나는 이것을 공통 프로젝트에두고있다. 여기

  1. 번들 SQL은 주어진 클래스의 논리
  2. 이 공통 프로젝트 내에서 계층화 된 솔루션을 만들기 ... 내가 공통 프로젝트를 구조화에 관하여 했어 몇 가지 아이디어입니다
  3. 공통 프로젝트를 무시하고 유틸리티 함수를 BLL/DAL에 넣습니다.

이러한 아이디어 중 하나가 다른 것보다 좋거나 나쁘지 않습니까? 누구든지 더 나은 해결책이 있습니까?

이러한 유틸리티 기능은 다양한 다른 응용 프로그램에서 재사용된다는 점은 주목할 가치가 있습니다.

+0

1. 무슨 뜻인지 분명히 할 수 있습니까? (논리가있는 SQL 번들 ...) – Nix

답변

0

이 될 유틸리티 프로젝트를 만드는 대신을 사용하여 서비스를 제공 할 수있는 무언가를 만드는 것에 대해 생각해 보셨습니까? Aspect Oriented Programming을보고 싶을 수도 있습니다. 붉은 깃발은 당신이 오류 처리, 기록 등등을 나열하는 것을 보았을 때 나타났습니다. 그 비명 AOP.

하지만 레이아웃을 고수하고 싶다면.

필자는 유틸리티 프로젝트를보다 일관성있는 것으로 재구성한다는 의미에서 2로 갈 것이라고 생각합니다.

나는 (명확히하시기 바랍니다 그리고 난 내 게시물을 편집합니다) 이해하지 못하는 대해서는 지정된 클래스

논리와

  1. 번들 SQL을 :

    공용 프로젝트를 무시하고 유틸리티 함수를 BLL/DAL

    와 함께 넣습니다.

    나는 그렇게하지 않을 것입니다. 이 논리가 실제로 반복 될 경우 다시 프로젝트에 적용 할 필요가 없습니다. 이렇게하면 코드가 중복되고 유지 관리가 향상됩니다.

    사이드 참고 : 당신이 유일한 개발자 또는가 잘 설명하고 잘 설계된 경우

    교훈 것처럼, 유틸리티 프로젝트의 작업 유일한 방법입니다. 때로는 유틸리티가 프로그래머 특유의 것이거나 특정 코더 스타일에만 이익이되는 방식으로 작성되는 경우가 있습니다. 나는 사람들이 인프라를 개조 해 수많은 유틸리티를 꺼내보고, 유틸리티 프로젝트가 결코 사용되지 않는 것을 보았습니다. 만들고있는 "유틸리티"가 다른 사람들에게 유용하다는 것을 확인하십시오.

관련 문제