代码设计的原则

本文探讨了软件设计中的六项关键原则,包括单一职责原则确保类职责单一,开闭原则强调扩展而非修改,里氏替换原则支持子类替换,依赖倒置原则提倡接口编程,接口隔离原则减少依赖,和迪米特原则降低类间耦合。这些原则有助于创建灵活、可维护的高质量代码架构。

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

单一职责

一个类或者一个接口只负责单一职责。就一个类而言,应该仅有一个引起它变化的原因。如果一个类承担的职责过多,就等于把这些职责耦合起来,一个职责变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致设计很脆弱,当变化发生时,设计会遭到很多意想不到的破坏。


开闭原则

对扩展开放,对修改关闭。当出现新的需求时应该扩展不能修改原有代码,不然会产生意想不到的风险。这是一个漂亮的面向对象的设计原则,防止对已经测试过的代码尝试修改,可以说其它原则的基石。


里氏替换原则

原文:If for each object o1 of type S there is an object o2 of type T such that for all programs P defined in terms of T, the behavior of P is unchanged when o1 is substituted for o2 then S is a subtype of T.

翻译:如果对每一个类型为 T1的对象 o1,都有类型为 T2 的对象o2,使得以 T1定义的所有程序 P 在所有的对象 o1 都代换成 o2 时,程序 P 的行为没有发生变化,那么类型 T2 是类型 T1 的子类型

理解:任何基类可以出现的地方,子类一定可以出现。也就是说子类能够替换父类而不受影响,如果无法替换,就说明这个子类继承有问题,需要修改设计。


依赖倒置原则

程序设计应该依赖抽象接口,而不应该依赖具体实现。这里提出一个概念叫“面向接口编程”,也理解为“面向超类型编程”,利用“多态”特性代码执行时可根据实际状况执行到真正的行为。


接口隔离原则

客户端不应该依赖它不需用的接口,类间的依赖关系应该建立在最小的接口上。


迪米特原则

一个对象应该对其他对象保持最少的了解,即一个对象对自己需要耦合关联调用的类应该知道的少;这会导致类之间的耦合度降低,每个类都尽量减少对其他类的依赖。这样做的目的在于减少依赖,独立功能,以便更好的复用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值