2011-04-20 1 views
0

저는 최근에 새 프로젝트를 위해 회의에 참석하면서 게으르고, 노골적이며 열정적 인로드에 대해 알게되었습니다. 그러나, 나는 우리가 왜 그것을 공부하고 있는지 알지 못했습니까? WCF RIA 서비스가 포함 된 실버 프로젝트에 참여했습니다. 제 스승이 이러한 유형의 로딩에 대해 설명하고있었습니다. 어느 누구도 나를 도울 수있어서 그들을 배울 수 있고 나의 멘토에게 나에게 배정 된 일에 얼마나 심각한지를 보여줄 수 있습니다.게으른, 열망하는 명시 적로드가 의미하는 바는 무엇입니까?

+2

어쩌면 당신의 질문을 형식화하여 얼마나 진지한 모습을 보일 수 있습니까? ? (적절한 곳에 물음표 * 포함). 감사합니다! – jv42

+0

나는 확실히 사용할 것이고, 서둘러 잊어 버릴 것이다. – iti

+0

글쎄, 나는 대답이 아닌 코멘트를 기대하고 있었다. – iti

답변

0

CustomerOrder 클래스가 있고이 클래스에 MyCustomer 속성과 MySalesOrderLines 속성이 있다고 가정 해 보겠습니다. MyCustomer 속성은 주문 고객을 나타내는 Customer 클래스에 대한 참조를 포함하고 MySalesOrderLines 속성은 주문의 주문 라인 컬렉션에 대한 참조를 포함합니다. Lazy Loading에서 이러한 속성이 반환하는 데이터베이스 레코드는 코드를 통해 실제로 호출 될 때까지 데이터베이스에서 검색되지 않습니다. 즉, 데이터베이스에서 Lazy-Loaded CustomerOrder 인스턴스를 검색 할 때 CustomerOrder.MyCustomer를 참조하는 코드 행이있을 때만 데이터베이스에서 검색 한 Customer 인스턴스입니다. eager 로딩에서, CustomerOrder 레코드가 데이터베이스에서 검색 될 때 데이터베이스에서 이러한 특성이 검색됩니다.

+0

명시 적 로딩이란 무엇인지 설명하고 탐색 속성은 정확히 무엇입니까? – iti

+0

위에서 언급 한 MyCustomer 및 MySalesOrderLines 속성은 탐색 속성입니다. 그것들은 "다른 데이터 요소로 이동"하거나 현재 데이터 요소와 관련된 데이터 요소를 노출하는 데 사용됩니다. 명시 적 로딩은 사용자가 gui에서 해당 속성을로드하게하는 액션을 실행할 때 이러한 탐색 속성에 의해 노출 된 레코드가로드되는 경우입니다. '주문 라인보기'버튼과 같습니다. 그런 다음 MySalesOrderLines 속성에 의해 노출 된 컬렉션을 채우는 데 사용 된 레코드를 데이터베이스에서 검색하기 위해 작성한 코드를 실행합니다. –

0

지연로드는 WCF RIA를 언급 한 이후로 나는 당신의 상사가 자원 획득의 측면에서 이러한 패턴에 대해 얘기했다 가정, 우리가

+1

좋은 예가 아닙니다. 그것은 느린 연결로 인한 것일 수도 있습니다. – abhilash

0

오보다 이전하지 스크롤 않는 이미지로드 같다. 인스턴스 생성 (객체), 로딩 (공유 라이브러리), 상태 (객체 상태 초기화), 평가 (결과가 사용될 때까지 평가되지 않는 표현) 등의 측면에서 게으름에 대해서도 이야기 할 수 있습니다. 다른 유즈 케이스의 다른 패턴 이름에도 똑같은 일이 적용됩니다. 자원 관리에 관해서라면 ...

이들은 객체 획득과 관련된 패턴이며 [POSA3 패턴 지향 소프트웨어 아키텍처 : 자원 관리 패턴 3] [1]에 자세히 설명되어 있습니다.

리소스 관리 (개체는 있지만 리소스는 더 나은 용어라고 생각할 수 있음)는 조회, 수집, 수명주기 및 릴리스의 네 단계로 구성됩니다. 당신이 요구하는 패턴은 자원 획득 패턴입니다. 당신이 성공적으로 자원을 조회 한 후

, 당신은 자원 획득을 위해 선택할 수있는 4 개 전략이 : 자원이 요청 될 때 완전히 인수 될 때,

  • 명시 적 인수; 이것은 패턴이 아니지만 일반적인 유스 케이스이다. 객체 속성에 액세스 할 때 자원 획득이 지연 될 수있는 경우 (초기에 프록시 객체를 반환 함) 리소스 유휴가 지연 될 수있는 경우 일반적인 유스 케이스가 아니라 일반 유스 케이스입니다.

  • 지연 수집 .

  • 열망 인수 전략은 예측 자원 획득 (즉, 당신이 즉시

  • 부분 인수 전략을 요청하는 초기 자원의 수명주기를 입력해야합니다 알고 자원 세트를 획득 할있다 할 수 있습니다 대형 메모리/크기가 큰 객체를 생각할 때 처음에는 객체를 부분적으로 만 획득하려고합니다.