用什么模式更灵活
本文关键字:模式 什么 | 更新日期: 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<>;P, S>, storage <年代>)年代>
问题是存在一条业务规则,该规则规定必须根据Value将p映射到S1或S2。如何改变结构,使其更灵活?
添加接口:
-
IBusinessRule<P, S>
->MapToS1(P) : bool
用它初始化mapper:
-
new Mapper(IBusinessRule<P, S>)
注:我指的是S1 : S
和S2 : S
。