【脚本语言系列】关于面向对象的设计原则

本文探讨了面向对象设计的五大核心原则:开放闭合、控制反转、接口隔离、单一责任及替代原则,旨在帮助软件开发者创建灵活、可维护的系统架构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是面向对象的设计原则

现在, 让我们来谈谈另一套对我们至关重要的概念。
这些都是面向对象的设计原则,它们将作为我们的工具箱, 同时能够更加详细地学习设计模式。

开放闭合原则

开放闭合原则指出:类或对象和方法应对扩展操作开放, 但对修改操作闭合。

简单地说,当你开发你的软件应用程序,请确保您以通用的方式编写类或模块, 以便每当您感到需要扩展类或对象的行为时, 就不必更改类本身。更确切地说,是类的简单扩展帮助你建立新的行为。

例如, 开放闭合原理原则表现在这样一种情况下: 用户必须通过扩展抽象基类而不是更改抽象类,来实现所需的行为。

开放闭合原则的优点如下:
• 现有类不会更改, 因此回归(regression)的可能性较小
• 它还有助于保持以前代码的向后兼容性

控制反转原则

反转控制原则指出:高级模块应不要依赖低级模块;它们都应该依赖于抽象。细节应该取决于抽象, 而不是相反。

这一原则表明, 任何两个模块不应该在一个严密的方式依赖于对方。事实上, 基本模块和相关模块应该与中间的抽象层分离。

这个原则也表明, 你的类的细节应该代表抽象类。在某些情况下, 原则被反转, 实现细节本身决定抽象, 这应该避免。

控制反转原则的优点如下:
• 模块的紧密耦合并不普遍, 因此系统中没有复杂性/紧致性
• 由于依赖模块之间有一个清晰的抽象层 (由钩子或参数提供), 因此如果很容易以更好的方式处理模块之间的依赖关系

接口隔离原则

接口隔离原则指出:客户端不应被迫依赖于它们不使用的接口。

这个原则讨论了软件开发人员编写他们的接口是个好主意。例如, 它提醒开发人员/架构师开发与功能相关的方法。如果有任何方法与接口无关, 则依赖于接口的类必须不必地实现它。

例如,披萨接口不应该有一个名为增加鸡肉()的函数中。基于披萨接口的蔬菜披萨类不应强制实现此方法。

接口隔离原则的优点如下:
• 它迫使程序员编写瘦接口, 并实现具有特定于接口的方法
• 它通过添加无意的方法来帮助您不填充接口

单一责任原则

单一责任原则指出:一个类应该只有一个变更的理由。

简单地说,当我们开发类的时候, 它应该很好地迎合给定的功能。如果一个类处理两个功能, 把它们分离。这里将功能称为变更的理由。

例如, 类可以进行变更, 因为它所期望的行为不同,但如果一个类被变更有两个原因 (基本上,两个功能的更改),那么这个类就应该被肯定分开了。

单一责任原则的优点如下:
• 每当一个功能发生变化时, 这个特定的类就需要改变,而不是别的
• 此外,如果一个类具有多个功能,依赖类将不得不因为不同的缘由进行需要避免的变更

替代原则

替代原则指出:派生类必须能够完全替换基类。

简单地说,当应用程序开发人员编写派生类时,他们应该扩展基类。这也表明,派生类应该尽可能接近基类,以便派生的类本身应该替换基类, 而不进行任何代码更改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值