用什么模式更灵活

本文关键字:模式 什么 | 更新日期: 2023-09-27 18:03:57

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

我已经创建了一个通用流,工作良好,非常可扩展:

  • IProcessor<P,> -> processes (): void

  • IProvider -> getiitems (): IEnumerable<字符串>

  • IValidator -> Validate(string): void

  • IParser

    -> Parse(string): P

  • IMapper<P,> -> Map(P): S

  • IStorage -> Save(S)

  • new Processor(IProvider, IValidator, IParser<IMapper&lt>;P, S>, storage <年代>)

问题是存在一条业务规则,该规则规定必须根据Value将p映射到S1或S2。如何改变结构,使其更灵活?

用什么模式更灵活

添加接口:

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

用它初始化mapper:

  • new Mapper(IBusinessRule<P, S>)

注:我指的是S1 : SS2 : S