使用什么模式更灵活?

时间:2015-07-21 19:45:25

标签: c# design-patterns

我正在构建一个读取,验证,转换和存储数据的接口。通过这种方式,两个系统可以相互通信。

我创建了一个通用的流程,它工作得很好并且非常易于扩展:

  • IProcessor< P,S> - > Proces():void

  • IProvider - > GetItems():IEnumerable<串GT;

  • IValidator - >验证(字符串):void

  • IParser< P> - >解析(字符串):P

  • IMapper< P,S> - >地图(P):S

  • 的IStorage< S> - >保存(S)

  • 新处理器(IProvider,IValidator,IParser< P>,IMapper< P,S>,IStorage< S>)

问题是有一个业务规则规定P必须根据值映射到S1或S2。如何改变结构,使其更灵活?

1 个答案:

答案 0 :(得分:0)

添加界面:

  • IBusinessRule<P, S> - &gt; MapToS1(P) : bool

用它初始化mapper:

  • new Mapper(IBusinessRule<P, S>)

P.S。我的意思是S1 : SS2 : S