如何为书店存储库建立查询/条件搜索模型

时间:2016-05-23 15:48:43

标签: java design-patterns repository-pattern

我有一个图书库/书店,客户可以根据作者,ISBN,名称等搜索图书。这可能会导致存储库中的大量查找方法,因为将来会添加更多字段。为了解决这个问题,我希望有一个find方法接收一个封装搜索的Query对象。我还希望有QueryBuilder类构造查询。但是,我在实现这些类时遇到了麻烦。有什么建议??另外,如果分页支持是存储库或构建查询的客户端的关注点。

我的BookRepository类目前看起来像这样:

public interface Bookstore {
    Iterable<Book> find(Query query);

    Iterable<Book> find(Query query, int start, int len);

    void add(Book book);

    void remove(Query query);
}

1 个答案:

答案 0 :(得分:0)

您可以使用Query Object模式。它应该支持建设者。