当前位置:  开发笔记 > 编程语言 > 正文

共享资源的struct vs static class?

如何解决《共享资源的structvsstaticclass?》经验,为你挑选了1个好方法。

我有一个产品图像类.这是一个具有重复使用潜力的对象,可用于图像的一般工作(例如,用于产品,用于处理图像的CMS等).它将让我设置文件的标题,并使用标准的.NET类以简单的方式编辑图像.

我可以使用一个结构,这意味着如果我在5个不同的地方使用结构,那就是5个不同的内存位置,但彼此都是相互独立的.更改这些内存位置的状态不会影响其他内存位置(这是所需的行为).在要求对象时它将被装箱.

该对象是基于实例的.因此,每个产品都会使用产品对象并使用图像(例如编辑其标题等).

如果我创建一个静态类,那就是指向一个对象的五个不同位置.所以我需要处理线程同步.我不能只写一个变量,因为另一个访问可能会覆盖变量,无论我如何同步访问此共享资源.所以我总是需要返回新的变量.此外,如果我使用许多不同调用方法使用的静态类,则会导致队列访问共享资源.因为实用程序类是静态的,它们只是 - 实用程序 - 它们将在我的代码库中被许多类使用.在这种情况下使用静态类可能不明智吗?

正如MSDN文档所解释的那样,我将只为全局实体使用静态类.所以一个类封装了我的代码库的详细信息 - 只有一个代码库,这个类将包含行数等的详细信息.这不是基于实例的,比如订单类(1个客户-1订单-1或更多订单) ).

在这种情况下,或许使用结构代码是一个很好的设计决策吗?



1> John Saunder..:

在我看来,担心性能问题的时间是在遇到性能问题之后.在此之前,担心使代码工作并且可维护.否则你会发现自己追逐微不足道的性能提升,或者可能解决错误的性能问题.

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有