这是否违反了开放/封闭原则?

问题描述 投票:0回答:1

我用 .NET Core 制作了一个 webapi,并且有一个“Startup”类。这个类有一个“ConfigureServices”方法,它表示:

// 该方法由运行时调用。使用此方法向容器添加服务。

但每次添加新服务时,我都需要“修改”这个方法,但这违反了开放/封闭原则。

如果我使用“IF”和“ELSE”标准来执行与我修改此方法相同的操作。

那么你对此有何看法?

.net webapi solid-principles open-closed-principle
1个回答
1
投票

事实恰恰相反。您正在自己的启动中扩展该方法,而不是修改基本启动。 维基百科的这篇文章明确指出,为了遵守开放/封闭原则

软件实体(类、模块、函数等)应该对扩展开放,但对修改关闭

我不太明白你的 if/else 部分是什么意思。

© www.soinside.com 2019 - 2024. All rights reserved.