Golang|分布式搜索引擎中所利用到的计划模式

[复制链接]
发表于 2025-7-9 05:36:08 | 显示全部楼层 |阅读模式


  • 迭代器模式

    • 界说:在遍历接口时,提供同一的方法函数供调用,保持一致性。
    • 焦点思想:与大众习惯保持一致,方便第三方实现容器类时保持一致。
    • 常见方法:如next()方法,实用于全部集合类,简化遍历操作。

  • 工厂模式

    • 界说:返回接口而不是具体类的实例,接口有多种实现,由参数指定。
    • 特点:工厂函数根据参数返回不同类的实例,实现机动的创建对象。
    • 应用:如生产宝马或奔驰汽车,具体生产哪种汽车由参数决定。

  • builder模式

    • 界说:对象有多个成员变量,可以在运行时动态赋值,通过位置方法链式赋值。
    • 焦点:位置方法返回类自己,方便链式调用,实用于复杂对象的构建。
    • 应用:如设置多个成员变量的值,简化对象构建过程。

  • 单例模式

    • 界说:确保某段代码只执行一次,创建重要资源时只创建一次,如数据库毗连。
    • 焦点:通过sync.Once包管整个go进程内某段代码只执行一次,避免资源浪费。
    • 应用:如MySQL数据库毗连,限制毗连上限,防止资源浪费。

  • 外观模式

    • 界说:将多个复杂体系封装在一起,对外提供简朴的接口,简化客户端访问。
    • 特点:客户端不需要直接面临多个复杂体系,通过外观模式访问更加简朴。
    • 应用:如Nginx的反向署理,提供负载均衡和额外功能,简化访问流程。

  • 署理模式

    • 界说:为类添加一个中介或署理,控制访问原始类,并提供额外功能
    • 特点:署理类提供原始类的全部功能,并添加额外功能,如Nginx的爬虫封禁功能。
    • 应用:如Nginx的反向署理,提供负载均衡和额外功能,增强体系本领。

  • 策略模式

    • 界说:将复杂策略的实现放在接口中,通过参数转达具体实现方案。
    • 特点:策略接口持有具体实现,解耦策略的实现和利用,提高机动性。
    • 应用:如根据不同条件选择不同的排序算法,通过策略模式实现机动切换。

  • 模版方法

    • 界说:抽象出公共的模板代码,个性化代码留在子类实现,简化工作流开辟。
    • 特点:模板方法界说公共流程,子类实现个性化逻辑,提高代码复用性。
    • 应用:如工作流中的相似流程,通过模板方法简化开辟过程。



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5

GMT+8, 2025-7-25 08:11 , Processed in 0.075673 second(s), 30 queries 手机版|qidao123.com技术社区-IT企服评测▪应用市场 ( 浙ICP备20004199 )|网站地图

快速回复 返回顶部 返回列表