2009-11-10 8 views
0

데이터베이스 레이어가 아닌 저장소 패턴을 사용할 수 있는지 궁금합니다.저장소 패턴 : 데이터베이스 소스에만 해당합니까?

ShopCartRepository 클래스의 배열에 shopcart 항목을 저장 한 shopcart의 패턴을 사용했습니다. 그런 다음 ShopCartController 클래스를 사용하여 ShopCartRepository에서 데이터를 가져 왔습니다.

ShopCartRepository는 배열 만 처리하므로 데이터베이스가 아닙니다.

리포지토리 패턴을 사용하는 "합법적 인"방법입니까?

답변

4

리포지토리 패턴은 데이터베이스 테이블, 메모리 내 목록 등 집합에서 처리하는 데이터의 생성, 검색, 수정 및 삭제를 제어 할 수있는 중앙 집중식 장소를 원하는 모든 상황에 적합합니다. 또는 무엇이든; 이러한 추상화의 힘은 정확하게 패턴을 가치있게 만드는 요인입니다. 물론 프로젝트에 맞는 방법으로 사용하는 것은 합법적입니다.

1

리포지토리 패턴은 데이터베이스뿐 아닙니다.

그러나 일반적으로 데이터 영역의 도메인 개체로 작업하기 위해 일종의 메소드를 추상화하는 데 사용됩니다. ShoppingCart 작업에 엄격하게 사용하는 경우 쇼핑 카트에 ShoppingCart 및 ShoppingCartRepository 작업에 대해 걱정할 필요없이 장바구니가 정상적으로 작동 할 수 있도록 ShoppingCart에 메서드를 추가하는 것이 좋습니다.

+0

내가 동의하는 유일한 시간은 아이템의 배수를 선택한 경우입니다. 장바구니의 경우 사용자에게 하나 이상의 장바구니를 보여줄 필요가 없으므로 이러한 방법이 개체 자체에서 처리되어야합니다. – Lumpy