缩写词
ASC
完整形式:ascend
含义:上升;攀登;升高
描述:数据库排序关键字,表示升序排列(从小到大,从A到Z)。常用于 SQL 的 ORDER BY 子句中,例如 ORDER BY age ASC。
DESC
完整形式:descend
含义:下来;下去;下降;降序
描述:数据库排序关键字,表示降序排列(从大到小,从Z到A)。常用于 SQL 的 ORDER BY 子句中,例如 ORDER BY salary DESC。
SRP
完整形式:Single Responsibility Principle
中文:单一职责原则
描述:一个类或模块只负责一项职责。职责越单一,变更影响范围越小,可维护性越高。是 SOLID 五大原则之一。
OCP
完整形式:Open Closed Principle
中文:开闭原则
描述:对扩展开放,对修改关闭。新增功能时应通过扩展现有代码实现,而不修改已有代码,避免引入新的 Bug。是 SOLID 五大原则之一。
LSP
完整形式:Liskov Substitution Principle
中文:里氏替换原则
描述:子类对象可以替换父类对象,且不影响程序的正确性。这是继承使用的重要约束,违反该原则会导致继承关系混乱。是 SOLID 五大原则之一。
ISP
完整形式:Interface Segregation Principle
中文:接口隔离原则
描述:将庞大臃肿的接口拆分为多个职责单一的小接口,避免强迫实现类依赖它不需要的方法。是 SOLID 五大原则之一。
DIP
完整形式:Dependency Inversion Principle
中文:依赖倒置原则
描述:依赖抽象(接口/抽象类),而非依赖具体实现类。即面向接口编程,降低模块间的耦合度。是 SOLID 五大原则之一。
LoD
完整形式:Law of Demeter
中文:迪米特法则
描述:一个对象应尽可能少地了解其他对象内部细节,只与"直接朋友"通信,从而降低系统耦合度,提高模块独立性。又称"最少知识原则"。
CRP
完整形式:Composite Reuse Principle
中文:合成复用原则
描述:优先使用组合(Composition)或聚合(Aggregation)来实现代码复用,而不是通过继承(Inheritance)。因为组合更灵活、耦合更低,且不会破坏封装性。
MCU
完整形式:Microcontroller Unit
中文:微控制单元
描述:又称单片微型计算机(Single Chip Microcomputer)或单片机。将中央处理器(CPU)、内存(Memory)、定时器(Timer)、USB、A/D 转换、UART、PLC、DMA 等周边接口,甚至 LCD 驱动电路都整合在单一芯片上,形成芯片级的计算机,广泛用于嵌入式系统和物联网设备。
RC
完整形式:Release Candidate
中文:候选发布版
描述:软件版本周期中的一个阶段,指正式发布前的候选版本。RC 版本通常已经完成了所有功能开发和内部测试,仅剩少量严重 Bug 待修复。如果 RC 版本测试通过,就会直接作为正式版(General Availability,GA)发布。版本顺序一般为:Alpha → Beta → RC → GA/Stable。
SPA
完整形式:Single Page Application
中文:单页应用程序
描述:是一种 Web 应用程序架构模式,指只有一个 HTML 页面的 Web 应用。与传统的多页应用(MPA,Multi-Page Application)不同,SPA 在首次加载时获取所有必要的资源(HTML、CSS、JavaScript),后续用户交互不再重新加载整个页面,而是通过 JavaScript 动态更新页面内容。
主要特点:
- 页面切换无刷新,用户体验流畅,接近原生应用
- 前后端分离,前端负责路由和渲染,后端仅提供 API 接口
- 路由由前端控制(如 Vue Router、React Router)
- 首次加载较慢,但后续交互速度快
常见技术栈:Vue.js、React、Angular、Svelte 等
AMQP
完整形式:Advanced Message Queuing Protocol
中文:高级消息队列协议
描述:是一种应用层协议,用于在分布式系统之间进行异步消息传递。它定义了消息的格式、传输规则以及交换器(Exchange)、队列(Queue)、绑定(Binding)等核心概念,实现了消息的可靠传输、路由和排队。
主要特点:
- 跨平台/跨语言:不依赖特定编程语言或中间件,任何支持 AMQP 的客户端都可以通信
- 可靠性:支持消息持久化、确认机制(Ack)和事务,确保消息不丢失
- 灵活的路由:通过 Exchange 和 Binding 实现多种消息分发模式(如点对点、发布/订阅、主题匹配等)
- 异步解耦:生产者和消费者无需同时在线,通过消息队列实现系统解耦
常见实现(Broker):RabbitMQ(最流行)、Apache ActiveMQ、Azure Service Bus 等
核心概念:
- Producer(生产者):发送消息的一方
- Consumer(消费者):接收消息的一方
- Exchange(交换器):接收生产者消息并根据路由规则转发到对应队列
- Queue(队列):存储消息的缓冲区
- Binding(绑定):Exchange 与 Queue 之间的关联规则
应用场景:系统解耦、流量削峰、异步处理、日志收集、任务分发等
ADT
完整形式:Abstract Data Type
中文:抽象数据类型
描述:是计算机科学中的一个重要概念,指一个数学模型以及定义在该模型上的一组操作。它关注的是"做什么"(即数据对象的逻辑特性和对外提供的操作),而不是"怎么做"(即底层实现细节)。ADT 将数据表示和操作实现封装起来,对外只暴露接口,使用者无需关心内部存储结构。
核心特点:
- 数据抽象:隐藏数据的具体存储方式,只暴露逻辑结构
- 操作封装:将数据相关的操作捆绑在一起,对外提供统一的接口
- 独立性:使用者只依赖接口编程,不依赖具体实现,便于后续更换底层存储结构而不影响上层代码
常见示例:
- 栈(Stack):LIFO(后进先出)结构,支持 push、pop、peek 等操作
- 队列(Queue):FIFO(先进先出)结构,支持 enqueue、dequeue 等操作
- 列表(List):有序元素集合,支持插入、删除、查找等操作
- 集合(Set):无序且元素唯一的数据集合
- 映射(Map/Dictionary):键值对(Key-Value)存储结构
- 图(Graph):由顶点和边组成的非线性结构
- 树(Tree):具有层级关系的非线性结构
与数据结构的区别:
- ADT 是"逻辑层面的抽象描述"(接口层面的概念),强调的是对外提供的功能和操作契约
- 数据结构 是"物理层面的具体实现"(存储层面的概念),强调的是数据在内存中的存储方式和具体算法
举个例子:栈(Stack) 是一个 ADT,可以使用数组(Array) 来实现,也可以使用链表(Linked List) 来实现——使用者的代码无需改变,因为调用的是同一套接口。ADT 定义了"栈能做什么",数据结构决定了"栈怎么做"。
应用场景:程序设计语言中的标准库(如 Java 的 java.util 包、Python 的 collections 模块、C++ 的 STL)大量使用了 ADT 思想;在系统设计、算法设计中也普遍遵循"面向接口编程"的原则。
CRM
完整形式:Customer Relationship Management
中文:客户关系管理
描述:是一种企业管理理念、策略和软件系统的统称,旨在管理与客户之间的所有互动和关系,以提升客户满意度、忠诚度,最终推动业务增长。CRM 系统通过收集、分析和利用客户数据,帮助企业更好地理解客户需求,优化销售、营销和服务流程。
三大核心模块:
- 销售自动化(Sales Automation):管理销售线索、商机、跟进记录、合同签订等销售全流程,提升销售效率
- 营销自动化(Marketing Automation):管理市场活动、客户细分、邮件营销、广告投放等,实现精准营销
- 客户服务与支持(Customer Service & Support):管理工单、售后反馈、投诉处理、知识库等,提升服务质量
核心价值:
- 客户数据统一管理,形成 360 度客户视图
- 销售过程可视化,便于管理和预测
- 自动化重复任务,提升团队协作效率
- 通过数据分析洞察客户行为,辅助决策
- 提升客户留存率和复购率
常见系统/产品:Salesforce、HubSpot、Microsoft Dynamics 365、Zoho CRM、纷享销客、销售易 等
应用场景:企业的销售团队跟进客户、市场部门做活动投放、客服部门处理售后工单、管理层查看销售报表和预测等