大家好,我是汤师爷~ 在 2024 年底,OpenAI 发布了最新推理模型 o3。o3模型相当炸裂,在世界级编程比赛中拿下第 175 名,打败 99.9% 的参赛者。AI 写代码都赶上顶级程序员了,程序员是不是要失业? 最近不少读者反馈,像 GitHub Copilot、Claude Sonnet ...
抽象工厂模式(Abstract Factory Pattern) 抽象工厂模式是一种创建型设计模式,它提供了一个接口,用于创建一组相关或依赖的对象,而无需指定具体类。它涉及到多个工厂,每个工厂负责创建一类相关产品的对象,确保客户端在不需要了解具体类的情况下,能够通过抽象工厂来获得所需的一系列产品。 ...
本书是经典著作《重构》出版20年后的更新版。书中清晰揭示了重构的过程,解释了重构的原理和实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。书中给出了60多个可行的重构,每个重构都介绍了一种经过验证的代码变换手法的动机和技术。本书提出的重构准则将帮助开发人员一次一小步地修改代码,从而减少了开发过... ...
用例是最简单的UML元素,用例图是最简单的UML图,但它也可能是UML中最有用的元素之一。尽管我们用包将工作分解为工作包、团队任务或单项任务,也就是说包是组织UML中的各种图及元素的工具。但是用例图可以帮助我们确定任务,以及应当如何将它们分组并确定工作范围。 每个用例都代表用户希望系统帮助实现的一个 ...
本文以个人视野聊下软件架构师的工作以及软件架构设计知识。做开发工作接近10年了,期间主要做Windows应用开发。在成熟的“华南区最大WPF团队”希沃白板呆了较长一段时间、后面从0到1构建Windows技术栈以及会议屏软件集,在软件设计这块自己成长了很多。之前整理过如何做好技术经理 - 唐宋元明清2 ...
组合模式(Composite Pattern) 组合模式(Composite Pattern)是一种结构型设计模式,它用于将对象组织成树形结构,以表示部分-整体的层次结构。通过组合模式,客户端可以统一对待单个对象和组合对象,从而简化了客户端代码的复杂性。 组合模式的核心思想 统一的接口:通过抽象类或 ...
大家好,我是汤师爷~ 概念模型设计是促销系统开发的关键环节,我们需要基于之前的功能分析,将复杂的促销业务拆解成清晰的领域概念,这些概念之间的关系界定和边界划分,将直接决定系统的可维护性和扩展性。 促销系统核心概念模型 通过对促销业务的分析,我们可以抽象出促销系统的关键概念模型。 1、促销活动模型 促 ...
大家好,我是汤师爷~ 今天聊聊促销系统整体规划。 各类促销活动的系统流程,可以抽象为3大阶段: B端促销活动管理:商家运营人员在后台系统中配置和管理促销活动,包括设定活动基本信息、使用规则、选择适用商品等核心功能。 C端促销活动参与:消费者在前台系统中浏览和参与促销活动,并在下单时获得相应的价格优惠 ...
本书由资深架构师撰写,从架构知识模型、架构落地方法和架构思维模式三大维度剖析架构师的能力模型。具体而言,本书融合TOGAF、DDD、RUP等主流架构方法论,抽象出一个具有高度普适性的架构认知框架,帮助读者轻松入门,成为合格架构师。 ...
本篇文章主要是对静态代理和动态代理实现思路的简述,以示例为主,少涉及理论。
如果文中阐述不全或不对的,多多交流。 ...
大家好,我是汤师爷~ 促销活动的核心价值在于利用价格优势吸引贪便宜的消费者。许多用户会积极寻找各类优惠,看到红包或折扣时容易产生购买冲动。 对商家而言,促销是快速清理库存的有效工具。特别是对于季节性商品或临期产品,促销能加快出货速度。同时,促销也能提升销售额,当顾客对商品感兴趣,但因价格犹豫不决时, ...
策略模式的应用,我们以一个配置字典来说一下这个问题;首先这个字典用来管理若干个配置,每个配置项都有key和value,key是字符串,value是某种类型;我们通过一个ConfigServiceStrategy接口来规定配置的操作行为,通过ConfigServiceContext来表示一个配置上下文 ...
在UML(统一建模语言)中,泛化(Generalization)和特化(Specialization)是面向对象思想中继承(Inheritance)关系的重要概念,它们描述类与类(或用例与用例、参与者与参与者等)之间的一般与特殊的关系。 ...
大家好,我是汤师爷~ 在这篇文章中,我们一起探讨订单履约系统的应用架构设计。 应用架构设计 我们前面讨论了系统的核心概念模型和拆单逻辑。接下来,让我们从应用架构的角度,深入了解系统的各个层次。这包括应用层、领域层,以及与其他系统的集成关系。 应用层能力 应用层定义软件的应用功能,它负责接收用户请求, ...
关联和链接关系在很多情况下是对称的,即被关联的两个类都有以自己为源端对方为目标端的角色存在。如果希望表达一种非对称的关系,可以使用“组合”或“聚合”关系进行建模,而这两者是类似但又有区别的两种关系。 ...
无论何时当我们要使用一个多值对象时,我们必须要清楚两个问题,一是这些值的顺序重要吗?二是允许重复值的存在吗?在编程语言中还会有其他的明确的信息,在UML中,只需明确这两个问题的答案即可确定对应的集合类型。 1.Set Set是一个不允许存在重复值且未排序的集合。 例如一个骑行活动中,有许多骑手参加。 ...
在UML中,多重性是指一个条目潜在的数量范围。多重性可被用于属性、操作参数、关联关系。UML元模型也使用多重性对元模型元素之间的关系进行约束。多重性总是包含基数值,它是相关条目在现实世界中的确切数量。本文将说明类属性和类操作参数的多重性。 一、属性的多重性 假设我们需要定义一个表示书的Book类,它 ...
大家好,我是汤师爷~ 概念模型设计是系统开发的关键步骤,它能帮助我们厘清业务逻辑并定义核心实体。我们将从订单履约的基本概念入手,深入探讨各实体间的关系。 履约域核心概念模型 如图展示了履约域的核心概念模型。 1、发货单 发货单是订单履约过程中的重要执行单据,它将订单转化为具体的发货任务。门店和仓储部 ...
DDD你真的理解清楚了吗?我通过这一系列知识分享,让大家真正准确地理解DDD中这些晦涩的概念,今天探讨“值对象” ...