最佳实践元组,动态或模型

时间:2016-09-21 15:24:31

标签: c# tuples

何时使用Tuple代替某种模型类的好地方?使用Tuples不是很懒吗?

我在项目的不同位置使用Tuples或有时dynamics,我问自己是否为每个项目创建模型类都是一种很好的做法。

事件

我使用Tuples作为我在PRISM应用程序中编写的一些事件的有效负载,因为类PubSubEvent只接受一个泛型类型参数。

解决方案:

  • 创建模型类并改为使用

这样做是一种好习惯吗?

解析JSON参数

当我有一个Web API访问点,我期望将json字符串作为参数时,我有时会将字符串转换为动态类型并从中读取属性并将其传递给我的经理。

解决方案:

  • 在Web客户端中编辑json,然后发送所需的数据
  • 创建一个参数解析器(或者再次调用它们),并将模型作为参数
  • 除外

这样做是一种好习惯吗?

算法中的临时数据存储

在某些算法中,我使用Tuples临时存储我的数据。我认为在这种情况下Tuples是件好事。

更多吗

是否有更多地方Tuples有用?应该何时使用,何时不使用?

MSDN

  

元组通常以四种方式使用:

     
      
  1. 表示单组数据。例如,一个元组可以   表示数据库记录,其组件可以表示   记录的各个领域。
  2.   

使用数据库框架时,我认为这不是一个好习惯吗?

  
      
  1. 提供对数据集的轻松访问和操作。
  2.   

好的算法中的代码有时很难阅读。

  
      
  1. 从方法返回多个值而不使用out参数   (在C#中)或ByRef参数(在Visual Basic中)。
  2.   

这不是懒惰而难以阅读吗?

  
      
  1. 通过单个参数将多个值传递给方法。对于   例如,Thread.Start(Object)方法只有一个参数   允许您为线程执行的方法提供一个值   启动时间。如果您提供Tuple<T1, T2, T3>对象作为方法   参数,你可以提供三个线程的启动例程   数据项。
  2.   

再次懒惰?也可以用任何其他模型类完成吗?

在我看来,凭借这些知识,我会说Tuples是不好的做法。有人能告诉我一个使用它们的好方法吗?

0 个答案:

没有答案