JAVA设计思路
设计思路?C++--。
■网友
Java的设计思路就是在C++上做减法,核心是减少复杂程度、降低犯错的可能性、提高安全性。去掉指针,大大降低犯错的机会。基本去除手动释放资源,用JVM的GC代替。为了弥补性能上不足,设计了常量池。设计了更加优秀的异常处理机制。还有一些细节上的,比如用来判断的必须是布尔类型;也有做的不彻底的,比如switch依然需要用break。Java在发展过程中也逐渐有了很多自己的思想和发展方向,这其中很多来自于大公司之间的博弈和活跃社区的贡献。JavaBean和Getter\u0026amp;Setter组成的数据模型影响了很多语言。解耦合与MVC结构,分离了展示、控制、业务逻辑、数据库存取。各种设计模式给项目架构提供了一些成熟的建议。强大的第三方框架和海量的组件降低了定制系统的成本。JUnit提供了最简单直接的测试方法,大大降低了因为愚蠢和粗心造成的麻烦。静态类型和清晰的语义给Hudson/Jenkins等工具提供了强大的助力,帮助他们扫描代码里的各种漏洞,比如跨站脚本、SQL注入、未校验的输入来源、暴露系统信息等等。基本通过jar就普及了数据库连接池、缓存、日志等强大而又实用的工具。
■网友
java是面向对象的编程。例如:我要设计一个人打猎的程序。我不需要知道猎人是怎么打的。从我的角度来看,我只要定义几个类(class)。猎人、猎枪、子弹、羊等。对象就是类里面的某一个。然后每个类都有各自的技能(method)(例如:猎人可以跑, 举枪,瞄准,扣动扳机;猎枪可以射出子弹;子弹可以杀死猎物;羊可以跑等等)然后把这些方法都封装到对应的class里面。当我们在main 方法里面使用的时候。new出具体的对象。然后把这些方法和对象用一定的逻辑关系组合起来。(如子弹射出后, 当与猎物距离为0的时候,则成功杀死猎物)。面向对象相比面向过程最大的好处就是大大增加了可通用型。例如 我下次要打猎一直鹿, 我只要定义一个新的类(鹿)。然后在main方法里面把调用羊的方法改成鹿的。程序就可以继续使用了。大大缩短开发周期。而且在java里面 ,sun公司定义了许许多多的类。更加简化了编程的难度。我不需要知道方法是怎么实现的 ,不比拘泥于过程。我只需要知道怎么使用就可以了。把这些对象按照一定的逻辑关系进行排列组合就可以了。
■网友
JAVA Fellow Guy Steele于JAVA发布之际的精彩演讲:Growing a Language, by Guy Steele其人:Steele was born in Missouri and graduated from the Boston Latin School in 1972. He received a BA in applied mathematics from Harvard (1975) and an MS and Ph.D. from MIT inComputer Science (1977, 1980).Guy L. Steele, Jr.其中关键听译:1.小语言已远远不能满足人类需求,那cathedral式的庞大语言可以解决无限多需求,但是也要无穷久的时间来设计。2.C语言本来看着是个小语言,但是后来缩小出来一个B语言,又膨胀出来一个C++,而C++太过臃肿,难以继续开发(注:原文为too hard to fork, 而fork为version control中的行话,待更好的翻译)。Pascal的字符串设计成固定长度,成了最大缺陷,从此不适用于大型程序。FORTRAN是发展得很迅速,但是缺乏章法,程序猿纷纷抱怨这语言变得面目全非了。3.我们不需要问——Java是否需要成长,而要问——Java应当如何成长?因此, JAVA这样通过pattern来设计核心和计划好了如何增长,并主要由用户生成满足需求的持续发展(library)的语言诞生了。 诞生之初可能算小语言,但是随着library的日益丰富,会成为受用户喜爱的能满足很多需求的好语言。http://www.youtube.com/watch?v=_ahvzDzKdB0
推荐阅读
- “厉行节约反对浪费”主题设计公益活动成果发布
- 趣头条|雪佛兰创界,外观设计大气,你会喜欢这款车吗?
- 环球车讯网|全新大众途观,外观的设计更加时尚,更加大气,“满满”的高级感
- 趣头条|日产奇骏,整体设计不错,你会喜欢吗
- 趣头条|大众ID.3外观设计风格极具未来感,太好看了
- 趣头条|威马推出EX5-Z曜石精英版车型,车身采用宽体设计,外形魁梧大气
- 趣头条|本田飞度,整体设计不错,你会喜欢吗
- 设计专业学生上传自己的作品,用哪个网站比较好
- |环城街道开启“一二三四”新思路,打造纪检工作新亮点
- 当下电脑城/电子城/数码城的业务日益萧条,作为普通的创业者该怎样转变思路从而突围