2010-08-23 6 views
0

내 프로젝트에서는 4 개의 레이어 (사용자 인터페이스, 사용자 정의 유형, 비즈니스 로직 및 데이터 액세스 레이어)를 사용하고 있습니다.비즈니스 개체의 속성 혜택?

속성의 장점에 대해 많이 들었지만 실습에서는 레이어간에 데이터를 전송하고 속성의 이점을 얻지 못하는 비즈니스 개체를 사용했습니다.

비즈니스 규칙, 유효성 검사 및 검사는 속성을 사용하여 구현할 수 있지만 모든 기능은 유효성 검사 컨트롤과 정규 표현식을 사용하여 프런트 엔드에서 수행되므로 좋은 사용자 환경을 제공합니다. (DB에 데이터를 보내기 전에 동일한 유효성 검사기와 정규 표현식을 사용하여 서버 측 유효성 검사를 수행합니다.)

기본 강도와 속성은 무엇인지 안내해주십시오. 왜 그들이 중요하고 혜택을 가져 오는가?

+0

한 손에는 속성 (C# 클래스 인스턴스 속성?)을 사용하고 다른 한편으로는 유효성 검사를 위해 적절한 레이어를 사용하는 것에 대해 묻는 것처럼 보입니다. 여기서 무엇을 묻는 지 또는 유효성 검증과 특성이 서로 관련되어 있는지 확실하지 않습니다. 업데이트하고 명확하게 할 수 있습니까? – Abel

+0

대답하기가 어렵습니다. 이것은 결국 종교적 논의가 계속 진행될 수 있습니다. 그러나 당신이 buiness 객체의 속성이 ... 무엇을 요구 하는지를 묻는다면, 당신은 그들을 필요로하지 않습니다. 정말! –

+0

나는 내 질문을 편집했다. 지금은 분명하다. 나는 단지 재산의 이익을 묻고 싶다. 덕분에 – haansi

답변

1

지금 당장 비즈니스 개체의 두 가지 가능한 속성을 생각해 볼 수 있습니다.

1) 계산 된 속성. 개체의 다른 필드/속성을 기반으로 일부 값을 반환하는 읽기 전용 속성입니다.

예 :

public double AmountToPay { get { return _price*qty; }} 

이 논리가 내일은 당신이 금액을 일부 추가 요금을 추가 할 수 있기 때문에 비즈니스 오브젝트 내부에 유지해야하고, 물체의 내부를 유지하는 것은 모든 사용자에게 새로운 금액을 반영하는 것이다.

2) 유효성 검증 등록 정보 작성된 비즈니스 오브젝트 (또는 그 일부)의 인스턴스가 유효 함을 나타내는 특성.

예 : 사업이 일부 항목을 허용 할 수 있습니다 내일은

다시
public bool IsAValidPrice { get { return _price > 0 ; } } 

은 무료로 판매 될 다음 논리가 유효한 가격으로 가격 == 0 항목을 포함 할 것입니다.

+0

감사합니다 Amby, 당신이 말하는 것은 정확하지만 나는 연습에서 그렇지 않은 느낌을 받았습니다. 웹에서 작업하는 경우 클라이언트 측 유효성 검사를 수행하고 유효성 검사 컨트롤을 사용하고 속성을 사용하는 정규식 유효성 검사가 쓸모 없어 보입니다. 그게 내가 부동산의 실제 사용을 보려고 한 이유입니다. 제발 조언. – haansi

+0

일반 html + javascript 기반 응용 프로그램의 경우 똑같은 것은 아닙니다. 일부 Ajax/JQuery를 사용하여 클라이언트 - 서버 간 상호 작용을 고려할 수 있습니다. 더 나은 대답을 찾으면 확실히 돌아올 것입니다. 건배! –

관련 문제