Aga*_*gat 4 c# mobile mvvmcross xamarin
我已经看了http://slodge.blogspot.co.uk/2013/06/ioc-and-servicelocation-in-v3-brain-dump.html这篇关于"v3中的IoC和ServiceLocation"的文章.
一切都很清楚.但是,这个逻辑性能是什么?通常反射被用于这种类型的东西(我假设MvvmCross也这样做).每个人(至少,或多或少经验丰富的开发人员)都知道反思是表演的"邪恶".
所以,据我所知,该框架遍历应用程序中的所有类(可能只是Core assemply)并找到需要注入的类等,对吧?我确信这在小项目中是可以的,对于像web这样的项目(长时间启动)也是不够的,但是有什么关于移动应用程序(通常具有更有限的处理器能力和启动时间对用户来说至关重要) ?你对此有什么想法吗?您如何评估" 开发的便利性 "和" 第一次降低性能 " 之间的关系?
谢谢.
Stu*_*art 19
MvvmCross的绩效理念是:
当然,如果您绝对需要达到<200kB的包装尺寸限制,您将无法使用MvvmCross; 当然,即使使用世界上最好的工具,开发人员仍然可以制作性能不佳的应用......但我们将MvvmCross定位为帮助优秀的开发人员制作令人愉悦的跨平台应用.
有限的处理器能力
现代移动平台具有:
这几乎没有限制 - 它比10年前的PC更快,更强大.
每个人......知道反思是表演的"邪恶"
对不起 - 我认为你不对.
与我合作的人都知道Reflection引入了一小部分开销,但它并不会影响我们的性能考虑因素.
我更赞同Donald Knuth说:
"我们应该忘记小的效率,大约97%的时间说:过早的优化是所有邪恶的根源"
来自http://en.wikipedia.org/wiki/Program_optimization
在具有许多版本的应用程序/项目/产品中尤其如此 - 在紧密耦合的项目中,为v1创建的小优化通常会在达到v10或v11时导致严重的性能问题,其中平台中的更改会导致"旧代码"以"新模式"执行.
如果有人真正进入微优化,那么值得注意的是MvvmCross使用许多标记为虚拟的方法,许多小接口/对象和使用"{0} {1}"类型模式的字符串格式化 - 所有这些都可以如果有人真的想要优化.
| 归档时间: |
|
| 查看次数: |
1185 次 |
| 最近记录: |