????—设计-七个-02-原则-模式—????

发布时间:2024年01月16日

第二原则:依赖倒置职责

? ? ? ? 高层模块:调用者

? ? ? ? 底层模块:被调用者

? ? ? ? 高层模块不依赖于底层模块,二者都依赖于抽象

? ? ? ? 换言之,是面向接口(抽象)编程,不是面向实现编程

例如Graphics(高层模块)依赖了Rectangle(底层模块)违背了依赖倒置原则

如下修改:Graphics(高层模块)就没有依赖任何底层模块,而是依赖于接口(抽象)

并且两个子类(底层模块)也依赖于接口(抽象)

如果想代码更简洁点,可以去除高层模块中的函数参数

将高层模块代码修改为:

同样主函数也需要修改:主函数修改的原因 是因为参数中依赖了Circle(底层模块)

修改为:应该依赖于抽象

End

文章来源:https://blog.csdn.net/weixin_69360830/article/details/135617724
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。