DDD: Trying to code sorting and filtering as it pertains to Poco, Repository, DTO, and DAO using C#?

Posted by Dr. Zim on Stack Overflow See other posts from Stack Overflow or by Dr. Zim
Published on 2010-03-15T06:33:06Z Indexed on 2010/03/15 6:39 UTC
Read the original article Hit count: 255

Filed under:
|
|
|

I get a list of items from my Repository. Now I need to sort and filter them, which I believe would be done in the Repository for efficiency. I think there would be two ways of doing this in a DDD way:

  1. Send a filter and a sort object full of conditions to the Repository (What is this called)?
  2. Repository result would produce an object with .filter and .sort methods? (This wouldn't be a POJO/POCO because it contains more than one object?).

So is the answer 1, 2, or other? Could you explain why? I am leaning toward #1 because the Repository would be able to only send the data I want (or will #2 be able to delay accessing data like a LazyList?) A code example (or website link) would be very helpful.

Example:

  1. Product product = repo.GetProducts(mySortObject, myFilterObject); // List of Poco
  2. product.AddFilter("price", "lessThan", "3.99"); product.AddSort("price", "descending");

© Stack Overflow or respective owner

Related posts about ddd-repositories

Related posts about sorting