我一直在围绕w /规范模式来处理和包含我们的c#/ mvc应用程序中的业务逻辑。到现在为止还挺好。我确实有一个问题 - 因为我们将在堆上创建许多规范对象,这会不会以任何方式影响性能,比如说创建处理业务逻辑的辅助方法?谢谢!规范模式和性能
规范模式和性能
回答
虽然我确实有一个问题 - 因为我们将在堆上创建一些规范对象,会以任何方式影响性能,比如创建处理业务逻辑的辅助方法?
当然,它会影响性能,您编写的每一行代码和设计选择会以某种方式影响性能。这不太可能有意义,成为应用程序中的瓶颈或者值得关注,因为这几乎肯定是一个过早优化的例子。现在,您应该专注于正确建模您的域,并编写极其清晰和可维护的代码。更关注开发人员的生产力而不是机器生产力。 CPU周期很便宜,而且供应几乎无限。开发者周期并不便宜,而且供应也不是无限的。
但是只有您能知道它是否会影响真实世界中应用程序对实际数据的实际使用。我们不知道,因为我们不知道你的域名,不了解你的用户,不知道你期望的性能等。即使我们知道这些东西,我们仍然无法知道你的用户,不会给你一个强大的答案,因为你可以通过从现成的桌面上剔除一个探查器并查看你的应用程序实际上做了什么。
谢谢,是的,我同意你对许多影响因素的评论。因为我试图遏制我们的业务逻辑,所以我发现规范模式很有用(可重用的业务逻辑,易于进行单元测试),但是我们的领导并不相信,并且感觉使用帮助程序的代码更少,对象更少,可以实现相同的结果方法。 – rh1200
,因为我们将创建一批在堆上规范的对象,会以任何方式
大多数设计模式权衡一些开销设计的洁净度影响性能 - 这次也不例外。通常,规格添加的内存量非常少(通常是几个参考,就是这样)。另外,他们倾向于添加一些额外的方法调用与定制逻辑。
这就是说,我不会试图过早地优化这个。这里的开销非常小,所以我很怀疑它会在任何真实世界的应用程序中引人注目。
应该关注堆遍历问题,因为规范可能以任意顺序堆叠在任何数目中? – RBZ
- 1. 规范模式和Entity Framework
- 2. 规范模式与规范在BDD
- 3. Scala有模式匹配可能性的完整规范吗?
- 4. RDBMS规范化与性能
- 5. EF关系和规范模式
- 6. SQL模式设计和规范化
- 7. 实现规范模式
- 8. 规范化表的模式
- 9. 规范模式异步
- 10. 使用与规范模式
- 11. 异常规范和模板
- 12. 更高性能有规范化或非规范化表
- 13. Drools 7.2:构建规则引擎(监视模式和高性能)
- 14. 模板规范
- 15. OpenSessionInView模式,ADO和性能
- 16. 非规范化对性能有好处
- 17. MySQL规范化问题与性能
- 18. MySQL规范化存储过程性能
- 19. SQL数据规范化/性能
- 20. 规范化属性
- 21. 关于XML的规范性和非规范性意思是什么
- 22. 规范模式实施帮助
- 23. 如果实现模式规范
- 24. 模板参数的格式规范
- 25. 显式模板参数规范
- 26. 规范模式单元测试
- 27. Aquamacs文件模式规范错误
- 28. 实体框架规范模式实现
- 29. 数据库模式规范化
- 30. 钻石模式:如何规范化?
堆分配不是在.NET中担心的事情,因为a)堆压缩意味着分配通常非常便宜,b)垃圾收集意味着堆分配的风险较小(因为您不必跟踪对象生存期仔细。) –