2011-01-19 4 views
1

둘 사이에 성능 차이가 있습니까? 웹 프로젝트에는 일부 클래스 만 있지만 aspx 페이지 또는 ascx 컨트롤과 같은 UI 특정 항목은 없습니다. 클래스 라이브러리에서 웹 프로젝트로 유지해 주셔서 감사합니다.웹 프로젝트 대 클래스 라이브러리

감사합니다.

답변

0

명확히하기 위해 ASPX 또는 ASCX 파일이없는 웹 프로젝트가있는 것처럼 질문하게되었습니다. ASPX 파일이있는 웹 프로젝트가 있지만 ASPX 파일에 대한 종속성이없는 클래스가 있다고 가정하면 새 클래스 라이브러리 프로젝트에 해당 클래스를 추출해야하는지 궁금 할 것입니다.

질문과 관련하여 프로젝트를 나눠서 작성해야합니다.

단일 프로젝트에서 코드의 런타임 성능에 이점이 없습니다. 응용 프로그램을 시작할 때 사소한 지연이있을 수 있지만 일단 어셈블리가로드되면 성능은 동일하게됩니다.

그러나 개발 페널티가 적을 수 있습니다. 필자는 시스템을 컴파일하는 데 오랜 시간이 걸린다는 인상을 받고있다. 하나의 큰 프로젝트가 아닌 여러 개의 작은 프로젝트로 분할된다. 그러나 나는 이것을 뒷받침 할 데이터가 없다.

그러나 저는 이것을 결정적인 요소로 사용하지 않을 것입니다. 중요한 질문은 코드가 어떻게 구조화되어 있는지입니다.

더 큰 응용 프로그램인가요? 하나의 어셈블리에서 도메인 로직을 사용하고 다른 도메인에서 프리젠 테이션 로직 (웹 응용 프로그램)을 사용하도록 분할 할 것입니다. 내가 사용하지 않을 작은 응용 프로그램일까요? 도메인 논리에 단위 테스트를 실행하려는 경우를 제외하면 도메인 논리 어셈블리의 기능을 테스트하는 테스트 어셈블리가 하나만 있습니다.

+0

우리는 꽤 큰 웹 사이트 (기업)를 가지고 있으며 약 15 개의 웹 프로젝트로 나뉘어져 있으며, 건축가와 논쟁을 벌여서 왜 15 개의 프로젝트를 모두 웹 프로젝트로 만들 었는지 설명합니다. UI 구성 요소가없는 사용자를 위해 클래스 라이브러리 프로젝트를 만드는 대신 UI 구성 요소가 없으므로 (aspx 또는 ascs 파일이없는 웹 프로젝트, clases, helper, 유틸리티 등)
답장을 보내 주셔서 감사합니다. 약간의 성능 차이가 있으며 클래스 라이브러리가 더 간단하다고 생각했습니다. – Lucian

+0

아, 그냥 말이 안되요. 프로젝트에 클래스, 헬퍼, 유틸리티 등이 포함되어 있으면 웹 프로젝트가 아니어야하며 클래스 라이브러리 여야합니다. 성능 문제 때문이 아닙니다. 단순히 다른 것들은 단지 죽은 잘못이기 때문입니다. – Pete

2

내가 아는 한 단일 웹 프로젝트 또는 웹 프로젝트와 여러 클래스 라이브러리간에 성능 차이는 없습니다 (또는 매우 작을 경우). 대부분의 대형 응용 프로그램은 후자를 사용하여 코드를 분류하고 구성합니다. 각각의 실행 시간 측면에서 볼 때 그들은 정확히 동일하게 수행되도록 컴파일됩니다.

관련 문제