需要一些关于设计模式的帮助。我正在创建一个应用程序,它在存储在单独的表中的数据库中的对象上有不同的类 例如: 我有5种物体A,B,C,D,E 我在数据库中有5个不同的表来存储每个对象。
现在,我想在我的应用程序中实现搜索功能。这意味着用户将提供一个名称和多个对象类型。对于每个对象类型,我需要搜索给定名称的单独表。 任何人都可以建议在这种情况下使用哪种设计模式? 我打算编写jpa查询来从表中获取数据
答案 0 :(得分:1)
不要试图强迫每个问题适合一个众所周知的设计模式,这可能看起来像是使用Visitor Pattern的情况。
如果您没有分层结构,则会缩减为for循环。
让您的数据访问对象(DAO)实现一个返回主键(PK)的搜索界面:
public interface ISearch {
public int search( String text );
}
按查询类型和PK收集结果。 实现可以与名称,备注,描述等进行比较。您可能希望向接口添加另一个方法,该方法返回查询项的文本表示。