我正在构建一个接口(interface)来读取、验证、转换和存储数据。这样两个系统就可以相互通信。
我创建了一个通用流程,它运行良好且可扩展性很强:
IProcessor< P, S> -> Proces() : void
IProvider -> GetItems() : IEnumerable< string>
IValidator -> Validate(string) : void
IParser< P > -> 解析(字符串) : P
IMapper< P, S> -> map (P) : S
IStorage
-> 保存(S)新处理器(IProvider、IValidator、IParser< P>、IMapper< P, S>、IStorage< S>)
问题是有一条业务规则规定 P 必须根据值映射到 S1 或 S2。如何改变结构,使其更灵活?
最佳答案
添加接口(interface):
-
IBusinessRule<P, S>
->MapToS1(P) : bool
用它初始化映射器:
-
new Mapper(IBusinessRule<P, S>)
附言我的意思是 S1 : S
和 S2 : S
.
关于c# - 使用什么模式更灵活?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31548242/