我对 SOLID 原则相当陌生,我发现我经常遇到以下情况。
我有一个与接口绑定的任务的实现,当我需要使用类时,我只使用 DI 作为这样的接口。
例如,我的问题是当我需要多个实现时该怎么办。
List<IDataSource> dataSources = new ArrayList<IDataSource>();
dataSources.add(new DataSourceOne());
dataSources.add(new DataSourceTwo());
.... and so one...
然后稍后我将遍历数组以操作每个实现的接口方法。
这是不好的做法吗?有没有办法在没有新关键字的情况下填充列表?例如 c# 反射。或者是避免这种情况的设计模式?