programing

엔티티 컬렉션에 대한 IList vs IENumerable

iphone6s 2023. 4. 17. 21:32
반응형

엔티티 컬렉션에 대한 IList vs IENumerable

도메인 내에 사물 목록이 있는 엔티티가 있는 경우 ILists 또는 IEnumerable 중 어느 것으로 공개해야 합니까?예: 주문에 여러 개의 주문줄이 있습니다.

IEnumerable<T> 는 반복할 수 있는 일련의 항목을 나타냅니다(예: foreach 사용).는 추가 또는 삭제할 수 있는 컬렉션입니다.

일반적으로 OrderLines를 추가 또는 삭제하여 Order를 수정할 수 있으므로 Order를 원할 수 있습니다.행이 되는 것IList<OrderLine>.

그렇다고는 해도, 당신이 결정해야 할 프레임워크 설계 결정이 몇 가지 있습니다.예를 들어, 동일한 OrderLine 인스턴스를 2개의 다른 주문에 추가할 수 있습니까?아마 아닐 것입니다.따라서 OrderLine을 오더에 추가해야 하는지 여부를 검증할 수 있기 때문에 실제로 Lines 속성을 다음과 같이 나타낼 수 있습니다.IEnumerable<OrderLine>및 그 검증을 처리할 수 있는 Add(OrderLine) 메서드와 Remove(OrderLine) 메서드를 제공합니다.

IEnumerable에는 Count 메서드가 없고 인덱스를 통해 컬렉션에 액세스할 수 없기 때문에 대부분의 경우 IList over IEnumerable을 사용하게 됩니다(LINQ를 사용하는 경우에는 확장 메서드를 사용하여 이를 회피할 수 있습니다).

언급URL : https://stackoverflow.com/questions/376708/ilist-vs-ienumerable-for-collections-on-entities

반응형