首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对象审计

对象审计
EN

Stack Overflow用户
提问于 2012-01-05 09:55:02
回答 4查看 217关注 0票数 0

目前,我们对应用程序中的对象有一个相当庞大的审计系统,流程如下..

-Class实现了一个接口

-Interfaces强制该类重写某些方法,以便将需要审核的属性添加到KeyValuePairs列表中。

然后,-Class还需要从键值对列表中重新创建对象状态。

现在,开发人员需要将所有这些添加到那里的类中,而且我们的对象经常更改,所以我们不只是序列化类。

我想做的是使用属性将属性标记为可审计,然后自动完成所有操作,这样开发人员就不需要做任何事情了。

我的主要问题是-我知道人们总是说反射是缓慢的,我们说话有多慢?通过查看类并查看属性的属性,然后执行任何所需的逻辑,我将获得什么样的性能指标?

谢谢你的帮助

斯特恩,

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-01-05 10:13:31

很难给出具体的答案,因为这取决于应用程序的适当性能。

与普通编译代码相比,反射要慢一些,但是当担心性能问题时,最好有一些有用的东西,然后使用分析来查找真正的性能瓶颈并进行优化。

过早的优化可能会导致代码更难维护,这样您的开发人员的生产力就会降低。

我将从使用反射开始,并编写一组很好的单元测试,以便您知道您的代码正在工作。如果性能出现问题,可以使用Visual分析器来分析单元测试并发现瓶颈。

有些库可以加快反射速度,或者如果反射代码减慢,可以使用表达式树替换反射代码。

票数 1
EN

Stack Overflow用户

发布于 2012-01-05 10:05:28

如果performance确定与否取决于您的应用程序上下文。所以很难说它对你来说是慢的还是快的,你应该自己试试。

很可能,海事组织,它会提供相当可接受的表现,但我还是不知道你会在哪里使用它。

就像我所想到的其他解决办法一样,可以是:

  • Sqlite,用于保存key/value data
  • 面向方面的编程(如PostSharp),以便在编译时生成数据。

但我要做的第一件事,就是像你想的那样,进行一次反思。

票数 0
EN

Stack Overflow用户

发布于 2012-01-05 10:06:25

阅读Marc的this响应,我会建议,对于大多数应用程序的需求,反射应该是好的。

在进行任何根本性的更改之前,我建议运行一个分析器来查找代码中的瓶颈。如果确定反射/审核过程是主要的痛苦点,请使用IL发出,然后再试一次。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8740517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档