2012-04-10 3 views
1

CSLA 프레임 워크로 VB.net으로 작성된 대규모 레거시 애플리케이션을 배우고 있습니다. 많은 개체가 BusinessBase 및 BusinessListBase에서 상속 된 것처럼 보입니다. Visual Studio에서 "정의로 이동"할 때,이 클래스는 CSLA 네임 스페이스의 일부임을 알 수 있습니다. 이 수업은 무엇입니까? CSLA 프레임 워크에서 어떤 역할을합니까? 루트 객체 및 하위 객체와 같은 다른 CSLA 개념과 어떻게 관련됩니까?CSLA 프레임 워크의 BusinessBase 및 BusinessListBase 클래스 란 무엇입니까?

답변

6

BusinessBase 및 BusinessListBase는 편집 가능한 모든 (즉, 읽기 전용이 아닌) 비즈니스 객체가 상속하는 추상 기본 클래스입니다. 비즈니스 오브젝트 그래프에 따라 루트 또는 하위 오브젝트가 될 수 있습니다. 이러한 클래스는 IsNew, IsDirty 및 Save()와 같이 응용 프로그램의 인스턴스 클래스에 대한 CSLA 프레임 워크 속성 및 메서드를 제공합니다. 또한 기본 클래스는 DataPortal과 통신하고, 하위 클래스가 정의하는 비즈니스 규칙을 확인하고, 개체의 편집/실행 취소 수준을 관리하는 등의 과감한 작업을 수행합니다. 즉, 비즈니스 객체는 나머지 CSLA 프레임 워크와 통합되기 위해 이러한 클래스 중 하나를 상속받습니다. CSLA 프레임 워크의 범위 내에서 비즈니스 객체가 작업을 수행하거나 속성을 노출해야하는 경우 이러한 클래스가 발생합니다.

것들 중 일부는 이러한 클래스가 할 하지 수행

  • (그들은 등등 IsNew, IsSavable, 같은 객체/수명주기 관리 속성을 정의 할 수 있지만 속성은 관련 보유 비즈니스 속성 정의 비즈니스 데이터) 다시 CSLA의 관리 속성은 기본 클래스에 의해 처리됩니다
  • 초기화 비즈니스 특성()와 같은 "값이 있어야합니다 고객 이름")
  • T로
  • 할당 비즈니스 규칙 (데이터베이스
  • 마크 직렬화
  • 같은 객체에 ALK는 (즉, DataPortal에 의해 이루어집니다)

BusinessListBase 목록 클래스에 대한, 그리고 .NET을 상속 DataPortal.Fetch<foo>(args);를 호출하는 foo.DataPortal_X 방법으로 실행됩니다 결정하십시오 기본 목록 기능을 제공하므로 목록 인 CSLA 비즈니스 객체는 BusinessListBase를 상속해야합니다. 개체가 목록이기 때문에 예상대로 BusinessListBase에서 개체를 추가, 삭제할 수 있습니다.

ReadOnlyBase 및 ReadOnlyListBase는 비즈니스 상대로 동일한 용도로 사용되는 추상 기본 클래스이지만 개체가 읽기 전용인지도 확인합니다. 그들이 제공하는 것은 대부분 비즈니스 기반의 하위 집합이며, 속성이 설정자를 구현하지 못하도록하는 것과 같은 몇 가지 추가 제한이 있습니다.

CSLA에 대한 유용한 정보를 얻으려면 this question을 사용하는 것이 좋습니다.