2009-11-03 1 views
1

질문은 서버 컨트롤 내에 일반 데이터 코드를 캡슐화하거나 클라이언트의 컨트롤에 데이터를 바인딩하는 것이 더 나은지 여부입니다.사용자 지정 서버가 데이터에 액세스하거나 클라이언트에서 완전히 바인딩해야합니까?

컨트롤은 다양한 응용 프로그램에서 사용되며 데이터는 일반적으로 컨트롤에만 사용됩니다. 따라서 문제는 모든 클라이언트에서 컨트롤을 바인딩하는 코드를 복제하는 것이 아니라 컨트롤이 데이터 자체에 액세스하도록하는 것이 낫겠습니까?

EDIT : 컨트롤이 직접 NHibernate 연결을 전달하는 가장 좋은 방법이 될 데이터를 가져 오는 경우?

+0

좋은 질문입니다. – David

답변

0

상황에 따라 다릅니다. 내가 따라야 할 일반적 경험 법칙은 최소한 반복되는 코드를 사용하는 접근법을 사용하는 것이다.

상황에 따라 컨트롤에 있어야하는 것 같습니다.

이 철학의 목적은 쉽게 유지 보수입니다 : 데이터 소스 변경 또는 질의 변화, 나는 가능한 몇 안되는 장소로 코드를 변경하려는 경우

, 그래서 당신은 그것을 ONCE 변경할 수있는 경우 컨트롤을 변경하면 컨트롤을 사용하는 모든 페이지에서 변경하는 것보다 훨씬 쉽습니다.

편집 - 더 나은

를 추가하지만 그것이 실제 환경에 수정 된 것 재배포 코드에보다 저장 프로 시저를 수정하는 일반적으로 쉽게하기 때문에 저장 프로 시저를 호출하는 제어를하는 것입니다. 물론 저장 프로 시저를 호출하는 코드가 사용자의 상황을 제어 할 수 있습니다. 다시, 철학의 목적을 참조하십시오.

+0

이것은 내 생각이었습니다. 컨트롤에 대한 로직과 데이터 코드가 캡슐화되어 컨트롤 내에서만 사용되므로 nHibernate를 사용할 수 있으므로 아직 프로 시저를 사용할지 여부는 확실하지 않습니다. ORM을 사용하면 가져 오기 및 검색, 매핑, 캐싱 등의 작업을 줄일 수 있습니다. – suedeuno

관련 문제