用来简单对比一下这两种语言》,一点在复杂系统的面向对象设计中尤其显著

  • 栏目:编程 时间:2020-04-15 11:48
<返回列表

代码如下复制代码 编码对于合格的PHP程序员来说并不是什么难事,因此系统分析和设计这一阶段就显得尤为重要。不过本文并不打算讨论和需求分析、获取商业逻辑相关的话题,而是针对系统设计方面进行探讨。

在Web开发方面Java跟PHp八大对比

  《本文摘自百度经验,用来简单对比一下这两种语言》

  1. 一、 语言比较

    PHP是解释执行的服务器脚本语言,首先php有简单容易上手的特点。语法和c语言比较象,所以学过c语言的程序员可以很快的熟悉php的开发。而java需要先学好java的语法和熟悉一些核心的类库,懂得面向对象的程序设计方法。所以java不如php好学。

    Java首先要编译成字节码.class文件,然后在java虚拟机上解释执行。Java的Web开发首先最容易想到的就是JSP(现在已经到JSP2.0),原来的java的Web开发都是用servlet来实现的,用servlet来开发需要程序员在java的源文件中嵌入大量的html代码。所以后来就出现了JSP,JSP可以方便的嵌入到html文件当中,其实jsp文件在服务器上执行的时候首先会被应用服务器转换成servlet,然后再编译执行。

    Jsp可以通过servlet和JavaBean的支持产生强大的功能。JavaBean 是一种可复用的、跨平台的软件组件。使用javabean可以方便的实现java代码和html的分离,能够增强系统的功能和软件的复用性。

    Java的Web开发属于SUN公司定义的J2EE其中的规范。而且在J2EE中包括了java的Web开发的所有方面,如:JSP、Servlet、JDBC、JNDI、JAVABEAN、EJB等等。J2EE就特别适合于做大型的企业级的应用。

  2. 二、 数据库访问比较

    Java通过JDBC来访问数据库,通过不同的数据库厂商提供的数据库驱动方便地访问数据库。访问数据库的接口比较统一。

    PHP对于不同的数据库采用不同的数据库访问接口,所以数据库访问代码的通用性不强。例如:用Java开发的Web应用从MySQL数据库转到Oracle数据库只需要做很少的修改。而PHP则需要做大量的修改工作。

  3. 三、 系统设计架构比较

    采用Java的Web开发技术,需要使用的是面向对象的系统设计方法,而PHP还是采用面向过程的开发方法。所以用Java进行开发前期需要做大量的系统分析和设计的工作。

  4. 四、 跨平台性

    Java和PHP都有很好的跨平台的特性。几乎都可以在不作任何修改的情况下运行在Linux或者Windows等不同的操作系统上。

  5.  五、 开发成本比较

    PHP最经典的组合就是:PHP + MySQL + Apache。非常适合开发中小型的Web应用,开发的速度比较快。而且所有的软件都是开源免费的,可以减少投入。

    Java的Web应用服务器有免费Tomcat、JBoss等,如果需要更好的商业化的服务有:Web Sphere和 Web logic。

  6. 韦德体育 ,六、 分布式多层架构比较

    PHP只能实现简单的分布式两层或三层的架构,而JAVA在这方面就比较强大,可以实现多层的网络架构。数据库层(持久化层)、应用(业务)逻辑层、表示逻辑层彼此分开,而且现在不同的层都已经有一些成熟的开发框架的支持。例如Struts就是利用java的Web开发技术实现了MVC的设计模式,而在业务逻辑层也有Spring框架,数据库持久化层有Hibernate等框架。这些框架可以方便开发者高效、合理、科学得架构多层的商业应用。

    下面简要的说一下Struts,它实质上是在JSP Model2的基础上实现的一个MVC(Model、View、Controler)框架。JSP Model2体系结构是一种联合使用JSP 与Servlet 来提供动态内容的方法。在Struts框架中,模型由实现业务逻辑的JavaBean或EJB组件构成,控制器由Servlet实现的,视图由一组JSP文件组成。采用Struts可以明确角色的定义和开发者与网页设计者的分工。而且项目越复杂,其优势越明显。

  7. 七、 源代码安全

    PHP开发的程序的源代码都是公开的,他人拿到php开发的程序后都可以进行修改。

    Java开发的程序,最后用户拿到的是只是一些编译好的class类,无法看到完整的源代码,安全性高。

  8. 八、性能比较

    有人做过试验,对这两种种语言分别做回圈性能测试及存取Oracle数据库测试。

    在循环性能测试中,JSP只用了令人吃惊的四秒钟就结束了20000*20000的回圈。而PHP测试的是2000*2000循环(少一个数量级),却分别用了63秒。

    数据库测试中,二者分别对 Oracle 8 进行 1000 次 Insert,Update,Select和Delete: JSP 需要 13 秒,PHP 需要 69 秒。

    韦德体育 1

     所述,我个人认为,PHP适合于快速开发,中小型应用系统,开发成本低,能够对变动的需求作出快速的反应。而Java适合于开发大型的应用系统,应用的前景比较广阔,系统易维护、可复用性较好。还有,同样功能的系统用Java开发的系统要比PHP开发的系统的价格要高。

面临难题编码对于合格的PHP程序员来说并不是什么难事,因此系统分析和设计这一阶段就显得尤为重要。对于一个担任PHP项目的系统分析员来说,面临着两个难题:

PHP语言本身的限制。 这 一点在复杂系统的面向对象设计中尤其显著。PHP的面向对象特性在现有版本中虽然得到了改善,但是还不甚健全,根本不足以担任面向对象设计的实现语言;即 使眼光长远一些,在即将释出的以Zend Engine 2.0支持的全新PHP中,面向对象特性也不会像现在流行的Java或者C++那样。但是如果采用完全面向过程的方式,可以想见整个系统的设计会非常复杂,而由此带来的编码复杂和维护困难更 加难以应付。 现有资料的严重缺乏。 这是众所周知的现象即针对Web项目的系统设计资料不足;而在这些有限资料中,关于 PHP的设计资料又非常匮乏。如果本公司或本人也没有相关的技术积累,系统分析员只能在黑暗中摸索方法。

认识面对的系统既然如此,采用何种方法妥善处理PHP系统的分析和设计?最初的构想应该需要分清项目承担任务的类型:

涉及大量客户本身或者客户所在行业的商业逻辑的项目,包括办公系统、订单系统以及其他商业系统。 简单网站项目,包括一些需要承担高访问量或要求快速响应的项目比如品牌网站或者活动网站以及其他一些网站。 综合性网站项目。通常包含多个相对独立的子系统比如新闻子系统、论坛子系统、产品陈列子系统等等。

PHP 的设计初衷在于解决后两种项目的迫切需求,语言本身对于这些项目进行了良好的改造。而众多的PHP开发者对这些项目也具有或多或少的经验,相关书籍中的范 例也大都围绕于此。相对说来第一种系统所有的资料不多,各种出版物对其内容也很少提及。因此在本文中将题所述对第一种类型的项目进行详细讲述,同时附带提及第二种项目以及第三种项目的设计方法。当然,并不是被归类的这些项目就只能采用本文描述的方式,系统分析员 需要权衡各方面因素加以选择。

方案一:涉及大量商业逻辑项目如何分离用户界面和后台操作?如何避免将商业逻辑混淆于一般的流程控制中?作为一个严谨的商用项目,就需要考虑很多类似的问题。对于由PHP担当的这类项目,贯彻Model-View-Controller模式的设计是一个非常好的方法。

理论描述在 这里我不想多加解释MVC模式本身--简单的从字面上以及应用上说,通过将系统的设计分为Model模型/逻辑、View视图/界面、 Controller控制/流程三个逻辑部分达到良好的项目效果,以此便利各部分开发者的工作并降低日后的维护成本。就现实的项目开发而言,现存的很大问题包括网页设计人员和程序开发人员的工作交错和冲突以及商业逻辑嵌入 页面造成不可重用也很难维护等等。引入MVC模式一方面可以为系统的总体设计指出明确的方向,对于开发团队的分工也是良好的指导。

既然依照MVC模式要求对系统的总体结构在逻辑上分成三部分,那么团队的开发者中也存在着针对各个部分的开发者。

开发者角色 相关系统逻辑 职责 网页设计人员 View视图/界面

上一篇:复制代码 下一篇:希望和所有PHP爱好者共同进步

更多阅读

用来简单对比一下这两种语言》,一点在

编程 2020-04-15
代码如下复制代码编码对于合格的PHP程序员来说并不是什么难事,因此系统分析和设计这一阶...
查看全文

希望和所有PHP爱好者共同进步

编程 2020-04-15
/* +-------------------------------------------------------------------------------+ | = 本文为Haohappy读Core PHP Pro...
查看全文

php生成静态页面 html文档类

编程 2020-04-15
下面我们来看看用php生成html静态页面的程序吧,是一个很简单的类哦,好了费话不说多了来看...
查看全文

友情链接: 网站地图

Copyright © 2015-2019 http://www.koi-bumi.com. 韦德体育有限公司 版权所有