`
jiangshaolin
  • 浏览: 57522 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

浏览Jdon网站发现一篇好文章

    博客分类:
  • java
阅读更多
引用

yinyousong:
很多程序员多在抱怨java的new浪费了太多的内存,应该大量的使用static。但依据我观察banq老师的文章来看,banq老师似乎对这些看的不太重。我不知道是不是因为banq老师了解OO思想的真谛。
而在我看来我觉得Thinking in java 的第一章的对象导论给了我很大的启发。书中提到:汇编语言是对底层机器的轻微抽象,C语言是在汇编语言的基础上再次的对机器低层的抽象,而OOP是对低层的完全抽象;对事物的抽象程度决定了代码了优劣(书中原话不太记得了,据我的理解是这样的)
正因为OOP能够使程序员享受最大的快乐!
而java是OO现在的最佳解决方法,那么我们又何必只挑它的刺呢?
再而有了java程序员才有时间享受java(咖啡).

以上只是一个初学者的一点愚见中的遇见而以,如有出错望请大家指出。
如有理论性错误,望大家不要只顾笑顺便提出!。

引用

banq :
>抱怨java的new浪费了太多的内存,应该大量的使用static
前半句在某些情况下正确,后半句绝对错误。

说这话的是完全不懂对象,完全没有OO基础知识,但是这些人还在从事Java/.NET等OO软件开发,相当于外行人冒充内行,可见当前中国软件业水平多么低下。

为什么说这些程序员完全不懂OO呢?
因为他们只知道对象两个表面含义,却不懂对象背后的含义,对象重要特征是什么?对象重要的特征就是有生命的,有scope的,有生命周期的,这其实是一个很朴素的哲学思想,没有永垂不朽的东西,任何物体都是有生命的。

既然,对象有生命,那就当然有生有死,在java中,对象什么时候死已经无需我们操心,因为有垃圾回收机制,我们程序员只要决定对象什么时候生就可以,也就是对象什么时候创建,以何种方式创建。

对象可以new方式创建,也可以使用创建模式创建,方式很多,Ioc模式的诞生,特别是自动配对auto wiring的IOC诞生,让对象的创建也无需我们来编码了,这更大大解决程序员的软件开发生产力,这也就是Jdon On Rails为什么快速的原因之一。

回到对象的生命周期上来,使用静态实际就是变态的延长对象的生命周期,虽然也解放了程序员,无需程序员照顾对象创建,但是这是一种错误的解放,是一种虽然简单,但是方向完全错误,可能导致更大性能陷阱的解决方式,这个我已经在单例是邪恶等帖子中反复表述,因为我们现在的软件是一个多线程环境,如果你使用静态,不但导致非OO系统,到处是长命百岁的对象,系统难于维护;更重要不小心就导致多线程变成单线程系统,也就是单用户系统,某个时刻只能一个用户操作这个系统。换句话说:就是系统缓慢,人操作一多就死机。


http://www.jdon.com/jivejdon/thread/33823.html

按照他哲学观点,我们现实家太阳,有月球,有地球,有分子,原子等,那又该如何表现呢?所有的物体都是由原子组成,那我们的程序中字符就是原子了?还有还有宇宙大爆炸理论,分久必合,合久必分。能把宇宙中的现实世界自然规律等全部抽象在软件中那就牛了!呵呵。
N年后吧。
分享到:
评论
2 楼 jiangshaolin 2009-01-17  
kjj 写道

看了半天不知所云,对那种到处宣扬自己的什么Ion框架的人,不敢认同!

说说你对他的见解看??
1 楼 kjj 2009-01-17  
看了半天不知所云,对那种到处宣扬自己的什么Ion框架的人,不敢认同!

相关推荐

    Jdon论坛

    本Jive(Jdon版)可在Jbuilder 7/8直接打开,请失效Jbuilder的Jsp编译功能。 建议你用Jbuilder7打开后,编辑相应设置(注意,必须是JDK1.4以上版本) 本软件在linux+jdk1.4+tomcat 4以上环境运行正常,由于采取ISO...

    DDD jDon源码

    本文将深入探讨jDon源码中的关键知识点,帮助开发者更好地理解和应用DDD。 1. **领域模型**:DDD的核心是领域模型,它反映了业务领域的核心概念和规则。jDon源码中的模型类展示了如何将业务实体、值对象、聚合根等...

    JDON框架源码

    Jdon Framework(简称JF)是一套适合开发中小型J2EE/JavaEE应用系统的轻量Web框架(Lightweight Java Web Framework)。是国人独立开发的中国人自己的框架产品,2005年入选全球SUN公司网站java.net正式企业应用目录。...

    Jdon应用系统案例开发

    说明:每个应用系统中存在大量重复的CRUD开发流程,通过本框架可快速完成这些基本基础工作量,将精力集中在特殊功能设计上。 CRUD快速开发主要简化了表现层的流程,将其固化,或者是模板化,以配置替代代码编制,...

    jdon_struts_hibernate_samples,jdon例子

    【标题】"jdon_struts_hibernate_samples" 是一个整合了Jdon、Struts和Hibernate技术的示例项目。这个项目展示了如何在Java Web开发中有效地利用这三个框架进行业务逻辑处理、用户界面展示以及持久层操作。 【描述...

    Jive Jdon Jbuilder7

    在软件开发领域,Jive Jdon Jbuilder7是一款备受瞩目的集成开发环境(IDE),它为Java开发者提供了强大的工具支持,特别是对于设计模式的应用和项目构建。本文将深入探讨Jive Jdon Jbuilder7的核心特性和其在设计...

    Jdon的简单例子,是调好的

    想学学Jdon,光调最简单的就花了一晚上的时间,真是笨啊。我调好了,只要把mysql的数据库连接包放到tomcat的lib(tomcat6.0),建好数据库,在tomcat配一些数据库连接池,就能运行了。

    jdon完整源码及设计文档

    Jdon是一个基于Java语言的开源项目,它以其独特的设计思想和丰富的功能特性,在开源社区中备受关注。本文将深入探讨Jdon项目的源码结构、设计理念以及相关的设计文档,帮助读者理解并学习到Java开发中的精髓。 一、...

    jdon 数据库表

    jdon 数据库表整理。 显示简介的jdon数据关系。

    jdon框架的使用-中文pdf清晰版

    ### Jdon框架使用详解 #### 一、Jdon框架概述 **Jdon框架**是一款针对J2EE(Java 2 ...通过深入理解J2EE的基本概念和技术组成,结合Jdon框架的特性和优势,开发者可以更好地利用这一框架来提升开发效率和软件质量。

    jdon+structs+hibnate示例

    【标题】"jdon+structs+hibnate示例" 涉及到的是一个融合了三个核心技术的Java Web开发实例。jdon是一个国内开源的框架,它借鉴了Spring框架的设计理念,但针对中国的开发环境和需求进行了优化。在这个示例中,jdon...

    框架 源代码 struts+ jdon+ hibernate

    框架 源代码 struts jdon hibernate

    JdonFramework开源框架 v6.6.zip

    JF是快速性和灵活性综合平衡的产物,它带来了多快好省的简单的解决之道(simplify the best):对于小项目,使用Jdon框架可以开发出高质量可扩展的好的系统;对于大项目,使用Jdon框架可以更快地开发出系统。

    JdonFramework开源框架 v5.1 Build20071025_jdonframework(毕设 + 课设).zip

    本文将对JdonFramework的核心特性和使用方法进行深入探讨,以帮助开发者更好地理解和运用这一框架。 JdonFramework的设计理念是基于面向对象和事件驱动,它强调的是构建松耦合、可扩展的系统。框架中的主要组件包括...

    jdon核心思想

    ### jdon核心思想 jdon框架是一套基于Java语言的企业级应用开发框架,它强调了模块化、松耦合的设计原则,并且支持敏捷开发模式。本文将深入解析jdon的核心思想,尤其是其对Struts标签库的应用与理解。 #### ...

    struts+jdon+hibernate.rar_j2me_struts hibernate

    JDon框架由著名Java开发者陈军创建,它是一个面向对象和事件驱动的框架,强调的是组件化和领域模型驱动的设计。JDon不仅包含了MVC模式,还引入了CQRS(命令查询责任分离)和Event Sourcing等现代设计原则。它的核心...

    Java 中的设计模式 - jdon

    《Java中的设计模式 - jdon》是一本深入探讨Java编程中设计模式的电子书,它主要聚焦于如何在实际开发中应用和理解这些经典的设计原则和模式。设计模式是软件工程中的一种最佳实践,它总结了在特定上下文中解决常见...

    jdon中的日历javascript

    如何使用: <input type="text" name="fromDate" maxlength="20" size="20" value="" id="begin_date_b">('begin_date_b', 'y-m-d');">

Global site tag (gtag.js) - Google Analytics