标签

 设计模式 

相关的文章:

了解设计模式的实际应用,包括代理模式、工厂模式、建造者模式等,帮助你更好地理解和应用设计模式。

系统整容纪:责任链设计模式的应用实战(爆灯了,研发工期由45天降为1天)

原文约4300字,阅读约需11分钟。发表于:

在下所负责的系统中有这么一个模块,分区模块,直接看这个词的话相信很多人都会疑惑甚至是误解,其实其真正的含义就是“路由”,接下来我简单描述一下何谓“路由”。相信大家都有过网上购物的经验,每当我们下完订单后,我们都能随时随地的查看订单的物流跟踪状态,而上述的“路由”概念就是指:订单从A地到B地的运输路由线路,例如订单order1要从A运输到目的地F,其可以从A->B->D->F,也可以从A->D->F,至于具体应该走哪条线路,是靠系统中配置的路由以及对应的匹配规则进行筛选出来的。

本文介绍了系统中的路由模块,包括静态路由和动态路由的商机。作者详细介绍了路由模块的重构步骤,使用责任链设计模式进行改造,并总结了改造后的优点和缺点。最后,提出了改进的方向。

相关推荐 去reddit讨论

工程中实践的微服务设计模式

原文约2800字,阅读约需7分钟。发表于:

最近在读《微服务架构设计模式》,开始的时候我非常的好奇,因为在我印象中,设计模式是常说的那23种设计模式,而微服务的设计模式又是什么呢?这个问题也留给大家,在文末我会附上我对这个问题的理解。本次文章的内容主要是工作中对微服务设计模式的应用,希望能对大家有所启发。

本文介绍了微服务架构设计模式中的事务发件箱模式和拖尾数据库日志模式,以及协同式Saga和编排式Saga在投退保流程中的应用。文章分析了不采用XA实现分布式事务的原因,并讨论了编排式Saga的优势和劣势。微服务架构设计模式是面向系统架构层面的设计模式,由相互协作的服务构成。

相关推荐 去reddit讨论

设计模式之代理模式:为对象提供一个“替身”

原文约1900字,阅读约需5分钟。发表于:

在软件开发中,设计模式是一种经过验证的最佳实践,用于解决在软件设计中经常遇到的问题。代理模式是一种结构型设计模式,它提供了一种将类的功能委托给另一个对象的方法,从而实现对类的功能扩展或控制访问。代理模式的基本概念代理模式为其他对象提供一种代理,以控制对这个对象的访问。代理类作为原对象(即委托对象)的替身,可以实现对原对象的操作进行额外的处理,如权限检查、日志记录、性能监测等,而无需修改原对象的代码...

代理模式是一种结构型设计模式,通过委托另一个对象来实现功能扩展或控制访问。它在远程代理、虚拟代理、保护代理和智能引用代理等场景下有用。代理模式提供了增加功能和控制访问的能力,提高系统的可扩展性和可维护性。

相关推荐 去reddit讨论

AI 接口中与设计模式互动的危害的特征和建模

原文约400字,阅读约需1分钟。发表于:

设计增强的 AI 系统控制 (DECAI) 是一个概念性模型,它着眼于探讨接口在人工智能系统中的作用,通过两个案例研究展示了 DECAI 的应用价值。

人工智能和机器学习在物理和数字产品中广泛应用,为互动和功能创造机会。设计师们在技术和人类互动中面临挑战。一门互动设计课程引入了九个AI练习,帮助学生更有思考和责任意识地设计使用AI的过程和结果。

相关推荐 去reddit讨论

规划是 AI 智能体的一种核心设计模式[译]

原文约1600字,阅读约需4分钟。发表于:

规划是 AI 智能体的一种核心设计模式,其中我们利用大语言模型 (LLM) 自主选择一系列步骤,以完成一个较大的任务。比如,如果我们指派一个智能体去网上研究某个主题,我们可能就会用 LLM 帮助它将这个大任务拆分成若干小任务,例如具体研究几个子主题、整合研究成果、以及撰写报告。

AI智能体的规划功能是一种核心设计模式,可以将大任务拆分为小任务,使智能体能够灵活地确定行动方案。规划能力正在不断提升。

规划是 AI 智能体的一种核心设计模式[译]
相关推荐 去reddit讨论

设计模式之创建型模式—建造者模式

原文约9000字,阅读约需22分钟。发表于:

建造者模式是一种广泛使用的设计模式,建造者设计模式在四人帮的经典著作《设计模式:可复用面向对象软件基础》中被提及,它的定义为,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

建造者模式是一种常见的设计模式,用于将复杂对象的构建与表示分离。经典的建造者模式包括复杂对象、抽象建造者接口、具体实现和构造者/使用者。变种的建造者模式用于减少构造函数和可选参数的复杂性。文章提供了Java实现的例子。

相关推荐 去reddit讨论

Guard Clauses 设计模式

原文英文,约400词,阅读约需2分钟。发表于:

1. Guard Clauses当业务增长导致代码变得臃肿且复杂时,函数作为最小的可执行单元,其易读性变得尤为重要。函数的清晰性可以通过良好的命名和结构来实现,而Guard Clauses设计模式则是简化复杂性的一种有效手段。通过使用Guard Clauses,我们可以在函数开始处进行预判并立即返回或抛出异常,以确保函数仅在有效条件下执行,避免深度嵌套的if和switch语句。进一步的优化是通过反...

Guard Clauses是一种简化复杂性的设计模式,通过在函数开始处进行预判并立即返回或抛出异常,避免深度嵌套的if和switch语句。可以通过反转流程和提取帮助方法来进一步优化代码。Ardalis.GuardClauses是一个第三方包,支持多种Guard Clauses,并可以通过扩展自定义Guard Clauses。

相关推荐 去reddit讨论

设计模式 | 工厂模式

原文约6000字,阅读约需15分钟。发表于:

防止走丢,将小榆设为星标!我们将探讨 23 种设计模式中的工厂模式,属于创建型模式。主要目的是封装对象的创建过程。比如说某某电子厂,通常会接到不同商家的订单,根据商家提供对应的图纸,生产并组装出成品,交付给客户。商家无需知道这产品的制造和组装过程,只需根据商家提供的图纸,还原成品即可。面向直接开发例如您看到疯狂星期四非常火爆,也想开一家自己的疯狂汉堡餐厅,并且为这家疯狂汉堡餐厅创建了一个用于配送汉...

本文介绍了工厂模式和工厂方法设计模式,它们分别通过封装对象的创建过程和分离产品的创建与使用代码来提高代码的可扩展性和可维护性。

相关推荐 去reddit讨论

001-从零学习设计模式-设计原则

原文约7700字,阅读约需19分钟。发表于:

写在最前 文档地址:https://gitee.com/csps/mingyue-dp-learning/wikis/Home 设计模式 推荐浏览:软件设计模式 代表了代码的最佳实践,被有经验的开发人

这篇文章介绍了面向对象编程中的六个设计原则:单一责任、开闭、里氏替换、接口隔离、依赖倒置和迪米特法则。通过示例代码展示了如何应用这些原则来创建可维护、可扩展的代码。

相关推荐 去reddit讨论

柏拉图、萨特、设计模式

原文约5600字,阅读约需14分钟。发表于:

本文介绍了模板方法模式和策略模式在程序设计中的应用,模板方法模式适用于步骤固定但具体实现可能变化的场景,策略模式适用于需要在运行时动态切换对象行为的场景。两种模式都能提高程序的可重用性和灵活性。

相关推荐 去reddit讨论