当前位置: 首页 > news >正文

社区信息建设网站投资 网站 源码

社区信息建设网站,投资 网站 源码,怎么做网站商城,免费在线看片目录 1、过滤器模式#xff08;Filter、Criteria Pattern#xff09;含义 2、过滤器模式应用场景 3、过滤器模式主要几个关键角色 4、C实现过滤器模式的示例 1、过滤器模式#xff08;Filter、Criteria Pattern#xff09;含义 #xff08;1#xff09;过滤器模式是…目录 1、过滤器模式Filter、Criteria Pattern含义 2、过滤器模式应用场景 3、过滤器模式主要几个关键角色 4、C实现过滤器模式的示例 1、过滤器模式Filter、Criteria Pattern含义 1过滤器模式是一种结构型设计模式它通过使用不同的标准过滤器来筛选出符合条件的对象。 2该模式将过滤器和对象进行解耦使得它们可以独立变化而互不影响。 2、过滤器模式应用场景 1数据筛选和过滤当需要从一个数据集合中筛选出符合特定条件的数据时可以使用过滤器模式。例如在电子商务网站上根据价格、品牌、评分等条件对商品进行筛选。 2数据转换和处理当需要对一组数据进行转换或处理并且只关注满足特定条件的数据时可以使用过滤器模式。例如在一个日志系统中根据日志级别对日志进行过滤和处理。 3用户权限控制当需要根据用户的角色、权限或其他属性来限制其访问某些资源或执行某些操作时可以使用过滤器模式。例如在一个Web应用程序中根据用户的身份和权限来过滤和控制页面的访问。 4事件处理和触发当需要根据特定条件触发或处理事件时可以使用过滤器模式。例如在一个游戏中根据玩家的行为和状态来触发不同的游戏事件。 5输入验证和过滤当需要对用户输入进行验证和过滤以确保输入的合法性和安全性时可以使用过滤器模式。例如在一个表单提交过程中对用户输入的数据进行验证和过滤防止恶意代码注入或非法输入。 总的来说过滤器模式适用于需要根据特定条件对对象进行筛选、转换或处理的场景。它可以提高代码的可复用性和可扩展性并将过滤逻辑与目标对象解耦使得它们可以独立变化。 3、过滤器模式主要几个关键角色 在过滤器模式中有以下几个关键角色 1过滤器接口Filter Interface定义了过滤器的基本方法通常包括一个用于筛选对象的过滤方法。 2具体过滤器Concrete Filters实现了过滤器接口根据特定的标准对对象进行筛选。 3目标对象Target Object需要被筛选的对象集合。 4过滤器管理器Filter Manager负责管理和应用过滤器以便对目标对象进行筛选。 4、C实现过滤器模式的示例 #include iostream #include vector// 目标对象 class Person { public:std::string name;int age;Person(const std::string name, int age) : name(name), age(age) {} };// 过滤器接口 class Filter { public:virtual bool filter(const Person person) const 0; };// 具体过滤器年龄过滤器 class AgeFilter : public Filter { public:bool filter(const Person person) const override {return person.age 18; // 只筛选年龄大于等于18岁的人} };// 过滤器管理器 class FilterManager { private:std::vectorFilter* filters;public:void addFilter(Filter* filter) {filters.push_back(filter);}std::vectorPerson applyFilters(const std::vectorPerson people) const {std::vectorPerson filteredPeople;for (const auto person : people) {bool passAllFilters true;for (const auto filter : filters) {if (!filter-filter(person)){passAllFilters false;break;}}if (passAllFilters) {filteredPeople.push_back(person);}}return filteredPeople;} };int main() {// 创建目标对象集合std::vectorPerson people {Person(Alice, 25),Person(Bob, 17),Person(Charlie, 30),Person(David, 20)};// 创建过滤器管理器并添加过滤器FilterManager filterManager;filterManager.addFilter(new AgeFilter());// 应用过滤器并输出结果std::vectorPerson filteredPeople filterManager.applyFilters(people);for (const auto person : filteredPeople) {std::cout Name: person.name , Age: person.age std::endl;}return 0; }在上述示例中我们定义了一个Person类作为目标对象实现了一个AgeFilter作为具体过滤器并创建了一个FilterManager来管理和应用过滤器。通过添加过滤器并调用applyFilters方法我们可以对目标对象进行筛选并输出符合条件的结果。
http://www.hkea.cn/news/14536836/

相关文章:

  • 湖南智能网站建设推荐网站开发与设计英文文献
  • 哈尔滨 网站建设公司济南网站制作推广
  • html和php做网站哪个好四个常见的网络营销方式
  • 如何做产品网站网页设计网页设计图片怎么放进去
  • 龙华新区城市建设局网站抖音黑科技引流拓客软件
  • 做i网站成都网站运营公司
  • 营销网站主题有哪些内容邢台做网站公司排名
  • 商务网站建设与管理石家庄软件公司排名
  • 如何做网站页面河南省住房和城乡建设厅人教处网站
  • 有哪些装修网站模板出售网站源码
  • 找回网站后台网站制作什么语言最好
  • 湖州网站做等保费用刷q币网站建设
  • 建设专业网站哪家比较好wordpress 外观 自定义
  • 网站设计 工作如何申请微信公众平台号申请
  • flash网站特点减少网站跳出率
  • 评价一个网站的好坏网站 会员系统 织梦
  • 直播间网站开发设计安徽省建设工程信息网怎么不能查询
  • 芜湖网站开发公司电话网页设计个人网页html代码
  • 生态环境工程公司网站建设成都家装排名前十名
  • 网站开发税收分类万能网站
  • intellij 网站开发网络设计公司有哪些
  • 电商网站的建设与安全自己电脑上做网站别人访问
  • 椒江建设网保障性阳光工程网站广告联盟代理平台
  • 杭州网站建设公司在韩国注册公司需要什么条件
  • 网站权重问题h5制作步骤
  • 专业简历制作网站有哪些网站建设入门教程pdf
  • 信誉好的永州网站建设建设推广型网站
  • 图片无版权网站微信 网站 收费
  • 网站建设功能表正规网站建设方案详细
  • 网站是什么字体木质家居 技术支持 东莞网站建设