面向对象编程原则的助记技巧

面向对象编程(OOP)是一种编程范式,它使用“对象”来设计应用程序和程序。面向对象的原则有助于提高代码的可维护性、可重用性和灵活性。最著名的面向对象原则是SOLID原则,由Robert C. Martin提出,因其易于记忆的首字母缩写而广为人知。然而,除了SOLID原则之外,还有其他一些原则也非常重要。本文的目的是介绍这些原则的助记技巧,以便程序员更容易记住并在编程中应用它们。

INI - 接口而非实现

面向对象编程的一个核心原则是“程序到接口,而不是实现”。这意味着应该依赖于抽象的接口而不是具体的实现。这样做可以提高代码的灵活性和可维护性。

DRY - 不要重复自己

“不要重复自己”(DRY)原则强调代码的可重用性。如果代码在多个地方重复出现,那么应该将其提取到一个单独的函数或类中,以避免冗余和不一致。

EWV - 封装变化

“封装变化”(EWV)原则建议将变化的部分封装起来,这样当变化发生时,只需要修改封装的部分,而不需要修改整个系统。这有助于降低系统的复杂性。

ANC - 依赖抽象而非具体类

“依赖抽象而非具体类”(ANC)原则鼓励依赖于抽象的接口或抽象类,而不是具体的实现。这样可以提高代码的灵活性和可维护性。

LKP - 最少知识原则

“最少知识原则”(LKP)建议类应该尽可能少地了解其他类的内部实现。这样可以降低类之间的耦合度,提高系统的可维护性。

COI - 优先使用组合而非继承

“优先使用组合而非继承”(COI)原则建议使用组合来实现代码的复用,而不是继承。组合可以提供更大的灵活性和可维护性。

HOP - 好莱坞原则

“好莱坞原则”(HOP)建议组件应该被动地接受外部的调用,而不是主动去调用其他组件。这样可以降低组件之间的耦合度。

ADP - 应用设计模式

“应用设计模式”(ADP)原则鼓励在编程中使用已经证明有效的设计模式,以解决常见的编程问题。

LCS - 追求松耦合系统

“追求松耦合系统”(LCS)原则强调系统组件之间的耦合度应该尽可能低,以提高系统的可维护性和可扩展性。

KISS - 保持简单

“保持简单”(KISS)原则建议在设计和实现系统时,应该尽可能保持简单。简单性有助于提高代码的可读性和可维护性。

助记技巧的应用

通过将这些原则的关键词连接起来,可以形成一句话来帮助记忆:“接口不重复封装抽象,最少知识组合好莱坞原则,应用设计模式,追求松耦合系统,保持简单。”

OO Guru: 好,程序员。使用“程序到接口,而不是实现”(INI)原则,并编程到IView,这样就可以将其用于桌面(Windows Forms)应用程序和Web表单应用程序。想想要做什么,而不是谁去做。 Programmer: 好的。不要重复自己(DRY)。 OO Guru: 很好。已经说出了下一个面向对象原则。 Programmer: 是这样的!谢谢。也会遵循它。 OO Guru: 看到把土豆和西红柿混在一起了。烂西红柿把土豆弄坏了。在面向对象编程中也可能出现类似的情况。那么使用“封装变化”(EWV)原则。不要让西红柿弄坏土豆。 Programmer: 听起来很有道理,观点接受了。 OO Guru: 知道车现在不可用。只有面包车可用。这就是为什么依赖于“抽象而非具体类”(ANC)。如果订了一辆四轮车,那么可能得到了面包车。要通用而不是具体。 Programmer: 明白了。现在订了一辆四轮车,将来会注意的。 OO Guru: 很接受。顺便说一下,车到了。 Programmer: 谢谢建议。很快会回来。回来之前,能帮把房间里的模拟钟换成数字钟吗? OO Guru: 好的,会的。 Programmer: 为什么房间的墙正在重建? OO Guru: 把模拟钟嵌入了墙里。因此,要换成数字钟,墙正在重建。如果模拟钟是挂起来的,那么换成数字钟就很容易了。预见到这些复杂性,面向对象的老手建议,优先使用“组合而非继承”(COI)。 Programmer: 现在实际上明白了,它将成为编程词汇的一部分。 OO Guru: 嘿,不要给老板打电话。不知道“好莱坞原则”(HOP)吗,不要给打电话,会打电话给。 Programmer: 好的好的。那么将继续发明车轮,来制造汽车。 OO Guru: 说什么?发明车轮!来吧!不要重新发明轮子。使用现有的轮子,发明汽车。在面向对象编程中也是如此,“应用设计模式”(ADP),它们是常见编程任务的经过验证的方法。手里有什么? Programmer: 试图把这个立方体的每个面都带上1到9的数字。花了这么长时间,但没有成功。 OO Guru: 在立方体中,所有带数字的小立方体都非常紧密地耦合在一起。因此,遇到了问题。尝试“松耦合系统”(LCS)。不要纠缠。拿每个平面带1到9的数字。 Programmer: 用这么多面向对象的原则唤醒了。如何记住并应用这么多东西。 OO Guru: 是的!好问题。记住对话和每个原则的首字母缩写,而在编程时观察,哪个面向对象原则被违反了。如果不能按照原样应用原则,不要担心。这些是原则,不是法律。法律是严格的规则,应该遵循。而原则是可以根据需要遵循的指导方针。 Programmer: 这次谈话增强了信心。 OO Guru: 好的。最后不要忘记KISS。 Programmer: KISS! OO Guru: 这是一个面向对象原则,叫做“保持简单和愚蠢”(KISS)。不要拐弯抹角。要直接。
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485