小编mac*_*a18的帖子

用于将一个字符串值映射到另一个字符串

我正在使用多个外部系统,所有这些系统都返回一个状态属性.

此状态属性可以是外部系统之间的不同值,但必须映射到系统上的特定状态值.

我有一个单独的类(适配器)来处理每个外部系统

例如

我的系统的状态值是

{Pending,Booked,Arrived,InProgress,Complete}

现在,外部系统A可能具有以下值

{Unknown,Pending,Booked,Accepted,Arrived,POB,Complete}

外部系统B可能具有以下值

{Waiting,Booked,Arrived,InProgress,Complete}

等等

现在我需要将外部系统值映射到我的系统值.

例如.

对于外部系统A.

未知,待定 - >待定

已预订,已接受 - >已预订

到了,POB - > InProgress

完成 - >完成

对于外部系统B.

等待 - >等待

预订 - >预订,

到了,InProgress - > InProgress

完成 - >完成

现在我已经将它抽象为一个辅助方法MapState,每个适配器使用它来获取状态值.此方法具有字符串参数externalsystem和externalsystemstate,并使用switch语句将外部系统状态映射到我的系统状态.

我认为这非常简单,我相信有更优雅的解决方案

有什么建议?

c# string mapping design-patterns

2
推荐指数
1
解决办法
5784
查看次数

标签 统计

c# ×1

design-patterns ×1

mapping ×1

string ×1