Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 最佳实践:在域模型中与接口一起使用typeof或使用enum_C#_.net_Design Patterns - Fatal编程技术网

C# 最佳实践:在域模型中与接口一起使用typeof或使用enum

C# 最佳实践:在域模型中与接口一起使用typeof或使用enum,c#,.net,design-patterns,C#,.net,Design Patterns,下一个场景(.net framework c#)的最佳实践是什么: 我有一个对象名为Message。 此消息有两种类型,请求和响应 我可以有一个引用枚举“MessageType”的消息对象。在那里,我可以使用这两种类型 我不喜欢这个解决方案;我想知道是否还有其他解决方案,因此,如果我将来更新代码,它将不会中断,并且易于修改。请求和响应是否继承自消息?向我们展示一些代码。你说你不喜欢目前的解决方案,但为什么不喜欢呢?我有一个web服务。我向第三方发送包含消息对象的请求。我从这个第三方获得了相同的对

下一个场景(.net framework c#)的最佳实践是什么:

我有一个对象名为Message。 此消息有两种类型,请求和响应

我可以有一个引用枚举“MessageType”的消息对象。在那里,我可以使用这两种类型


我不喜欢这个解决方案;我想知道是否还有其他解决方案,因此,如果我将来更新代码,它将不会中断,并且易于修改。

请求和响应是否继承自消息?向我们展示一些代码。你说你不喜欢目前的解决方案,但为什么不喜欢呢?我有一个web服务。我向第三方发送包含消息对象的请求。我从这个第三方获得了相同的对象,作为一个具有不同更新数据的响应。当我将消息对象保存到数据库中时,我需要知道它是响应还是请求。我可以使用枚举,但我想知道我是否也可以使用接口。然后我可以检查的类型,并做一些相应的行动。通信是异步的如果使用接口,为什么需要使用typeof?为什么不使用通常的iheritance<代码>摘要消息,
响应消息:消息
请求消息:消息
公共响应消息发送(请求消息)
?您绝对需要从原始第三方Web服务的
消息
转换DTO。显式转换也有帮助。