在应用程序中搜索对象的设计模式

时间:2014-03-13 20:01:30

标签: java search design-patterns jpa

需要一些关于设计模式的帮助。我正在创建一个应用程序,它在存储在单独的表中的数据库中的对象上有不同的类 例如: 我有5种物体A,B,C,D,E 我在数据库中有5个不同的表来存储每个对象。

现在,我想在我的应用程序中实现搜索功能。这意味着用户将提供一个名称和多个对象类型。对于每个对象类型,我需要搜索给定名称的单独表。 任何人都可以建议在这种情况下使用哪种设计模式? 我打算编写jpa查询来从表中获取数据

1 个答案:

答案 0 :(得分:1)

不要试图强迫每个问题适合一个众所周知的设计模式,这可能看起来像是使用Visitor Pattern的情况。

如果您没有分层结构,则会缩减为for循环。

让您的数据访问对象(DAO)实现一个返回主键(PK)的搜索界面:

public interface ISearch {
    public int search( String text );
}

按查询类型和PK收集结果。 实现可以与名称,备注,描述等进行比较。您可能希望向接口添加另一个方法,该方法返回查询项的文本表示。