2009-12-20 30 views
0

由于移动设备的应用程序预计会很小且很简单,因此通常会将大量计算卸载到Web服务中。使用J2ME进行移动应用程序编程时,OO是否相关?

  • 为∞,之上的框架,如J2ME,相关的移动应用程序?

  • 对于客户特定的定制而言,特定于应用程序的框架不是一种可避免的开销,特别是当现有框架(J2ME)本身已经可用时。

  • 是否有任何J2ME框架可用,例如: Struts等?

+0

这个问题经常重新排列,看起来好像是 – Woot4Moo 2009-12-20 05:58:59

+0

我的歉意;直到Dav发布,我意识到需要更多的工作。 – Everyone 2009-12-20 09:35:49

回答

3

面向对象编程本身并不意味着任何特定的开销。这仅仅是一种方法。您可以创建使用OO设计方法的程序,这些方法仍然快速而简单,就像您可以创建非OO程序一样速度慢且易于使用。

+0

刚刚更新了我的问题与几个后续步骤 – Everyone 2009-12-20 05:58:59

0

那么J2ME是Java,因此是OO。你可以在OO域以程序的方式编写代码,但这不是现在的重点吗?如果你不想做OO切换到Python。

+1

Python就像Java一样,如果不是更多。 IIRC它没有任何不是对象的原始数据类型,就像Java一样。 – 2009-12-20 05:41:53

+0

python也是一种脚本语言。由于他决定提到J2ME,我认为这将是一个公平的比较。由于Java是编译Python不是。 – Woot4Moo 2009-12-20 05:45:35

1

当然,使用OO(毕竟是Java),但是你必须更加小心一点,因为J2ME的空间和内存是有限的。对类的明智使用是好的,但不要过度使用那些创建生成其他事物的工厂的类的东西,等等......这实际上是我喜欢J2ME的一些东西:你不能堕落与“建筑宇航员”的东西。

0

正如Knuth先生所说,“不成熟的优化是万恶之源”。同样,仅仅因为遇到一个新的平台,在这种情况下,J2ME就没有任何意义可以忘记如何编写优秀的软件并回到全球一切程序一切狂欢。

当然,使用你的大脑,不要做那些你不会在桌面上做的事情(例如,通过产生对象的craploads并忘记摆脱对它们的引用,或者同样不好的东西,只是不加区分地产生大量物体)。工厂创建工厂的工厂可能不会像它听起来那么愚蠢,特别是如果你这样做的原因是因为它可以帮助你编写大量的单元测试。 (是的,在J2ME上编写单元测试!)

并回应大卫N.韦尔顿几个答案,“架构宇航员”,或过度工程,并不一定发生,如果你去与好的旧迭代方法 - 不要让事情变得更复杂,直到它显着简化你的生活。总结起来,我的感觉是,每个人都只是使用J2ME和Blackberry的“内存和空间限制”,将良好的感觉抛出窗外,编写蹩脚的,不可导航的软件。我向你保证,如果你按照迭代的方式进行测试并且经常测试你的应用程序,那么当性能变得不理想并且在那个时候采取适当的措施时你会注意到。而机会是,性能问题将归咎于你做了一些愚蠢的事情,而不是由于抽象。

免责声明:如果您从1999年开始阅读此文,那么为1KB mem或JavaCard编写CLDC 1.0将忽略以上所有内容。不过如果你在今天的任何功能手机上运行,​​那么你很幸运!

相关问题