
SOLID 原则在面向对象编程中的体现
前言
SOLID 原则是一种有助于编写健壮且可维护软件的设计原则集合。它们为类和接口的创建提供指导,以促进代码的可扩展性、重用性和松散耦合。
什么是 SOLID 原则?
SOLID 原则包括五个核心原则:
单一职责原则 (SRP):每个类或函数应该只负责一个单一的职责。开放-封闭原则 (OCP):类应该对扩展开放,对修改关闭。里氏替换原则 (LSP):子类应该可以替换其父类而不破坏程序的正确性。接口隔离原则 (ISP):客户端不应该依赖不使用的方法。依赖倒置原则 (DIP):高层模块不应该依赖低层模块,两者都应该依赖抽象。
实战案例
我们以一个计算员工工资的示例来展示 SOLID 原则的应用:
违反 SOLID 原则的代码:
class Employee { private string _name; private double _rate; private int _hoursWorked; public void CalculateSalary() { // 计算工资 } public void SendPayslip() { // 发送工资单 }}
这个类违反了单一职责原则,因为它负责计算和发送工资单,两个不同的职责。
遵循 SOLID 原则的代码:
// 单一职责原则和依赖倒置原则interface IPayrollCalculator { double CalculateSalary(double rate, int hoursWorked);}// 单一职责原则和里氏替换原则class HourlyPayrollCalculator : IPayrollCalculator { public double CalculateSalary(double rate, int hoursWorked) { return rate * hoursWorked; }}// 单一职责原则和开放-封闭原则class PayrollSender { public void SendPayslip() { // 发送工资单 }}// 单一职责原则和依赖倒置原则class Employee { private string _name; private double _rate; private int _hoursWorked; private IPayrollCalculator _calculator; public Employee(IPayrollCalculator calculator) { _calculator = calculator; } public double CalculateSalary() { return _calculator.CalculateSalary(_rate, _hoursWorked); }}
这个代码遵循 SOLID 原则,负责计算和发送工资单的工作分别由不同的类处理,并且类之间的依赖关系是通过接口实现的。
以上就是SOLID原则在面向对象编程中的体现的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1460884.html
微信扫一扫
支付宝扫一扫