我用 .NET Core 制作了一个 webapi,并且我有一个“启动”类。这个类有一个“ConfigureServices”方法,它说:
// 这个方法被运行时调用。使用此方法向容器添加服务。
但是每次添加一个新的服务,我都需要“修改”这个方法,但是它违反了开放/封闭的原则。
如果我使用 use 和“IF”和“ELSE”标准来做与我修改此方法相同的事情。
所以,对于这个你有什么想法?
我用 .NET Core 制作了一个 webapi,并且我有一个“启动”类。这个类有一个“ConfigureServices”方法,它说:
// 这个方法被运行时调用。使用此方法向容器添加服务。
但是每次添加一个新的服务,我都需要“修改”这个方法,但是它违反了开放/封闭的原则。
如果我使用 use 和“IF”和“ELSE”标准来做与我修改此方法相同的事情。
所以,对于这个你有什么想法?
恰恰相反。您在自己的 Startup 中扩展该方法,而不是修改基本 Startup。维基百科的这篇文章明确指出,为了遵守开放/封闭原则
软件实体(类、模块、函数等)应该对扩展开放,对修改关闭
我不太明白你对 if/else 部分的意思。