设计原则:SOLID、DRY、KISS、YAGNI、LOD

本文介绍了软件工程领域的多个核心设计原则,包括SOLID原则、DRY原则、KISS原则等,帮助开发者编写高质量、易维护的代码。

1. SOLID原则

1.1 SRP(Single Responsibility Principle) 单一职责

一个类或模块只负责完成一个功能。

1.2 OCP(Open Closed Principle) 开闭原则

(模块、类、方法)对拓展开放,对修改关闭

1.3 LSP(Liskov Substitution Principle)里氏替换

子类对象能够替换程序中父类对象出现的任何地方,并保证原来程序的逻辑行为不变及正确性不被破坏。

1.4 ISO(Interface Segregation Principle) 接口隔离

客户端(接口调用者)不应该被强迫依赖它不需要的接口。

1.5 DIP(Dependency Inversion Principle) 依赖倒置/依赖反转

高层模块不依赖低层模块,它们共同依赖同一个抽象,抽象不要依赖具体实现细节,具体实现细节依赖抽象。

2. DRY(Don’t Repeat Yourself)原则

不要开发重复代码,可以复用或提取公共代码,同时也要注意遵守“单一职责”和“接口隔离”原则。

3. KISS(Keep It Simple And Stupid)原则

尽量保证代码简洁,使用通用技术(同事都懂的技术)、不重复造轮子、不过度优化。

4. YAGNI(You Aint’t Gonna Need It)原则

不去设计与开发当前功能用不到的代码,但并不意味着不考虑拓展性,可以预留好拓展点,后面需要时再开发。

5. LOD(Law of Demeter)原则/迪米特法则

不该有直接依赖关系的类之间,不要有依赖;有依赖关系的类之间,尽量只依赖必要的接口。

# UML建模、设计原则 ## 详解 UML(统一建模语言)是一种用于软件系统建模的标准语言,它提供了图形化的表示方式来描述系统的结构和行为。设计原则是面向对象设计和开发中的核心指导思想,帮助我们构建可维护、可扩展、可复用的软件系统。 --- ### 一、UML建模 #### 1. UML图的分类 UML图主要分为**结构图**和**行为图**两类: ##### 结构图(描述系统静态结构) 1. **类图(Class Diagram)** - 描述类之间的关系(继承、实现、关联、依赖等)。 - 是面向对象系统中最常用的图。 2. **对象图(Object Diagram)** - 表示某一时刻系统中对象及其关系的快照。 3. **组件图(Component Diagram)** - 描述系统中模块(组件)之间的依赖关系。 4. **部署图(Deployment Diagram)** - 描述系统的物理部署结构,如服务器、节点等。 ##### 行为图(描述系统动态行为) 1. **用例图(Use Case Diagram)** - 展示系统功能与用户(参与者)之间的交互关系。 2. **活动图(Activity Diagram)** - 类似流程图,描述操作、工作流或用例中的步骤流程。 3. **状态图(State Machine Diagram)** - 描述对象在其生命周期中状态的变化。 4. **顺序图(Sequence Diagram)** - 展示对象之间的交互顺序,强调时间顺序。 5. **通信图(Communication Diagram)** - 描述对象之间的交互关系,强调对象之间的链接。 --- ### 二、设计原则 设计原则是指导我们编写高质量代码的核心理念,以下是几个经典的面向对象设计原则: #### 1. SOLID 原则(面向对象五大核心设计原则) - **S - 单一职责原则(SRP)** 一个类/方法只负责一项职责。 - **O - 开放封闭原则(OCP)** 对扩展开放,对修改关闭。 - **L - 里氏替换原则(LSP)** 子类应能替换父类而不破坏程序逻辑。 - **I - 接口隔离原则(ISP)** 客户端不应依赖它不需要的接口。 - **D - 依赖倒置原则(DIP)** 依赖抽象(接口),不依赖具体实现。 #### 2. 其他常见设计原则 - **DRY(Don't Repeat Yourself)** 避免重复代码,使用抽象或封装。 - **KISS(Keep It Simple, Stupid)** 设计应尽量简单直接。 - **YAGNI(You Aren't Gonna Need It)** 不要提前实现可能不需要的功能。 - **LoD(Law of Demeter)** 一个对象应只与直接朋友通信,减少耦合。 --- ## 知识点 1. **UML图分类**:分为结构图和行为图,用于描述系统结构和行为。 2. **SOLID原则**:面向对象设计五大原则,提升代码可维护性。 3. **设计模式基础**:设计原则是设计模式的理论基础,用于构建高质量系统。
最新发布
09-14
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值