如何添加检索条件 作者:七棵菜 日期:2022-11-22 栏目:计算机分类:1 人气:1770 客户端获取用户数据时,需要经过身份认证,其只能获取自己的数据。 这就需要系统在获取数据的时候添加身份过滤条件。 七棵菜框架中添加检索条件有两种方法: ### 检索器添加检索条件 例如:获取用户图片附件  可以看到,身份认证检索条件是通过检索器`UserResourceSearchService`添加 使用检索器注意: > 检索器不应该过多的继承,如果确实需要继承,不能根据检索条件继承,而应该根据具体的业务功能继承 例如,用户资源检索器`UserResourceSearchService`用以检索用户资源,其作用是添加用户身份认证过滤语句。如果我们还有一个用户资源,比如检索用户视频,同样需要添加用户身份认证过滤语句,但是不能因此而去继承`UserResourceSearchService`,它可能也有其他的检索条件,因此应该重写一个用户视频检索器。 我们定义`UserResourceSearchService`的目的是这个功能是一个通用功能,比如,检索用户文章,检索用户图片等,它存在的主要意义是代码复用,复用的方式是`依赖注入`,而不是`继承`。 **检索器可以继承`DefaultSearchService`,除此之外,除非及其特殊的情况,否则不建议深层次的继承。框架也推荐继承DefaultSearchService,如果不想继承,可以自行实现接口`SearchInterface`,这也没有问题。** ### 检索业务类添加检索条件 例如:获取账户文章  可以看到,身份认证检索条件是通过业务器`AccountArticleSearchBusiness`添加 需要注意: > 和检索器不同的是,业务类可以深层继承;相同的是,如果需要继承,不能根据检索条件继承,而应该根据具体的业务功能继承。 没有必要为每一个检索业务定义一个检索类,也没有必要为每一个检索类定义一个检索器。到底是定义一个检索类,还是定义一个检索器,但是定义一个接口,根据业务功能而定,框架推荐的方式是添加业务接口 例如,账户文章检索业务类`AccountArticleSearchBusiness`用以检索账户的文章,其作用是添加账户身份认证过滤语句。如果我们还有一个业务功能,比如检索账户已发布的文章,同样需要添加用户身份认证过滤语句,但是不能因此而去继承`AccountArticleSearchBusiness`,它可能也有其他的检索条件,因此应该添加一个方法,用于检索已发布的文章。 我们定义`AccountArticleSearchBusiness`的目的是身份认证这个功能是一个通用且常见的业务功能,它存在的主要意义是认证服务,而不是为了代码复用。 **模型通用的检索条件推荐在业务类中添加,如果检索条件比较复杂,可以在检索器中添加,这可以使用框架构造复杂的检索语句。** 标签: qikecai 上一篇:如何使用mvn命令导入依赖 下一篇:Uncaught TypeError: Cannot read properties of null (reading 'classList') 随便看看 2024-02-19 PHP7 运算符“??” 和“?:”的区别 2022-11-30 Linux 后台运行命令 2022-11-25 关于我们 2022-11-30 centos一键系统安装lnmp集成环境 2022-11-30 linux 生成 ssh 公钥 留言