我发现很多公司做android项目的时候基本是只是考虑将功能实现就完了
我看了一些公司的“成型”产品的源代码,结构乱成一团,有的类长得有两千多行,甚至连一行有用的注释都没有。
相信在这里的人很多都做过web,做web项目的时候通常会先设计好架构 会用到很多设计模式方面的东西
比如接口设计 层次设计等等
大家在做android项目的时候是怎样设计的呢
嵌入式有嵌入式的特殊之处
比如
1. 你在J2EE里会很自然地把一个属性设为private,然后给它添加getter和setter,而android建议直接把属性public,这是从性能上考虑的
2. J2EE的框架会用到反射来实现,在android里面你用反射来实现的话会给系统带来很大的负担,因为程序会在运行时才去查找要用的类和方法
4. 你要编写很多的类来实现一个在J2EE上看起来很优雅的结构,你知道这样做比单独写一个类多开销了多少资源吗?
5. 我们很习惯的封装一些小函数,须知函数调用也是要开销的,而java中又没有C中的inline函数
每一种程序都有每一种程序的特征,如果你看单片机程序的话,从设计上分析的话你可能要骂单片机程序员是白痴了
J2EE那么久了,积累了很多,特别是J2EE的人才,所以你会看到很多好的设计。
android毕竟还不久,J2EE的大牛们很少会转,所以你看到好的设计比较少。
当然,什么都有例外。
其实,设计是相通的。android也可以向J2EE借鉴很多东西。就好似设计模式,会过时吗?C能用,JAVA也一样能用。
这个我也想知道。。。找不到一个开源比较规范的项目 [img]http://javaname.com/test/good2.jpgs[/img]
1)设计模式是想通的,android肯定可以借鉴。
2)很多android的应用程序是从其他平台(pc,iphone)移植过来的,很多都懒的重新设计
3)android很大一块是一些小游戏,一般写小游戏强调UI、算法之类的,设计太复杂反而不爽,所以很多android游戏就是几个activity,而游戏界面的那个activity估计就很长了
再补充一个,在选择接口和抽象类的时候,J2EE的人会倾向于接口,因为一个类可以实现多个接口。而在android中则相反,除非接口特别必要。所有有优势的东西都有它的劣势。