2
我设计一个新的组件到系统,试图跟随DI上的各种指引,让我们得到回报在隔离方面,嘲讽等DI和复合组件 - 设计
所以我有以下组成部分(示为一个抽象):
- 撷取 - 支持IFetcher,其 来自特定数据源 取出数据。返回IDataSource。
- Builder - 支持IBuilder,其中 从IDataSource构建一个结构。
我想在“表演”(一个更好的名称想)组件来包装这些了,这将做到以下几点:
IDataSet Performer.Perform(IFetcher fetcher, IBuilder builder)
{
IDataSource ds = fetcher.Fetch();
return builder.BuildDataSet(ds);
}
为了遵守依赖注入和毁灭之王准则(据我了解他们),我通过IFetcher和IBuilder组件。
我的问题 - 这听起来像一个可接受的设计?与同事的对话符合“是的,听起来不错”,但并不完全相信Performer类的封装。
我看到它的方式,Performer是一个复合控件,它将几个不同的组件粘合在一起,这应该是可以接受的。唯一的问题是我是否应该有一个'Performer Factory',但考虑到实际组件(IFetcher和IBuilder)可以被嘲弄,这看起来有些过分。
任何想法,将不胜感激,谢谢。
谢谢你。我的设计由于其他原因而略有变化,但其更广泛的方面仍然存在。 – Duncan 2008-12-04 16:05:28