【发布时间】:2013-11-05 12:30:22
【问题描述】:
为了尊重开闭原则,添加参数对象而不是原始模式是一种好的模式吗?
假设我有这个界面
public interface IBar{
void DoSomething(int id);
}
如果有一天我需要添加一个参数,我将不得不改变我的界面。 有了这个解决方案
public interface IBar{
void DoSomething(DoSomethingParameter parameters);
}
我可以在不接触界面的情况下添加任意数量的参数,并且我将能够使用新参数创建 IBar 的新实现。
这是一种反模式吗?
【问题讨论】:
-
不太明白你的问题是什么,但是因为一个好的设计是对扩展开放但对修改关闭的,你显然修改了现有的接口(更不用说你需要更改所有实现的类IBar 也是如此),这是反模式,我们应该尽可能避免更改界面。
标签: design-patterns open-closed-principle