今天写一下对JAVA一些技术的选型上边的一些感受。
今天的JAVA已经相当的复杂了,刚入门的新同志可能真的有点找不到北的感觉,框架满天飞,JDK版本不停的升级,唉,让人目不睱接啊,晕啊。
那我就从软件不层次开始说起吧。
一、前端WEB层
这一层是最热闹的一层了。不光是框架多,而且在网上讨论的也是最多的。MVC是现在主流,不过最近的事件趋动也空前的高涨。
MVC的代表就是大名鼎鼎的STRUTS了,当然还有基它的像SPRING的MVC也是精典之作(我比较喜欢,嘻嘻)。
而事件趋动的就是以JSF为代表的了,还有像Tapestry 等,也是优秀的品种,它们以组件式的开发为主。
在为项目选型时,我们该选哪一个呢。头大啊!!
我自己的观点:
1.项目是网站型的项目还是业务型项目。
网站型的,访问量大,受网络速度的影响大。我感觉像事件趋动型的框架就不太适合它,必竟这样的框架比较复杂,在运行的过程中生成的对象比较多,网络传输的数据量大,这样在大的访量的情况下势必会对中间件服务器造成大的影响。这样的情况用STRUTS这样的轻量型的前端比较合适,或都干脆用JSP也行,或是用一些模板的语言框架也不错。这样一来,我们可以完全控件客户端和服务器端传输的数据量,做到尽可能的小,减少服务器的负担。
当然也有其它的办法了,在网站的建设中,最常用,最好用,最有效的办法就是静态化和缓存了。在此不再讨论。
如果是业务型的项目,最好是用事件型趋动的。因为像JSF之类的,都是以组件开发方式注称的。对业务开发来说,变得大多是业务流程,前端展现基本一样,所以自己公司可以根据自身的需要开发一些常用的组件,到时开发起来那是得心应手啊,速度自然提上去。而且像这样的软件大都是局域网内使用,即使是外网,大部分也是专线,应该不会有网络传输的问题(如果有那自然应该考虑MVC,哈哈)。
二、中间层
这一层的框 架比较少,一般是采用SPRING做为中间层。当然还有很多其它的框架,我这里就不说了。
中间层啊,对于一般程序员来说可能都不太习惯用。一般或者说没有,或者说是自己写。
用SPRING这样的中间层的好处有很多,这些在网上有很多的介绍。
对于我来说,我感觉最大的好处就是对业务对象有了管理的容器了。这样一来在代码中就不会有那些NEW了,少了NEW,也就少了对象,少了对象也就少了垃圾回收,少了服务器的负担。而且管理起这些业务类来也方便多了。
当然如果不用中间管理的话,完全可以用NEW来代替,小的项目,类比较少的话,也不是不可以的,而且现在虚拟机的回收机制也非常的高效了。或者自己用工厂模式和单例模式自己写一个简单容器也花不了多少的代码。
三、持久层
这一层简单的就是JDBC,现在看似有着一统江湖的HIBERNATE,还有我们不太常碰的EJB,JDO什么的。
JDBC是个好东西,初学入门都是从它开始的,如果公司想快速展开工作,用它最适合,基本没有学习的成本。而且容易控制,做网站型项目的首选。
如果你不怕学习,用EJB,HEBERNATE吧。EJB是超烦业务类型用的,EJB主方向是在事务控制上,由于容器做了很大的优化,所以用它事务会简单些。当然说的事务是建立在不同目标上的,如在数据库和消息队列上做事务。
其实,做什么项目用什么技术不是重要的,重要的是人,用什么样的心态来开发项目,不管用什么技术都能开发出优秀的项目来,相信这句话吧。
以人为本,是最根本。
分享到:
相关推荐
- **项目全流程掌握:**作者通过这些项目积累了从需求分析、技术选型、开发实现到测试部署的全流程经验。 - **技术栈多样化:**经历了SpringMVC + MyBatis、SSH等多种技术栈的应用场景。 - **个人技能提升:**在技术...
总结来说,Java项目开发是一个涉及团队协作、技术选型、代码质量、测试策略和项目管理等多方面综合能力的过程。通过这个项目,我们不仅锻炼了技术能力,也提高了团队合作和自我学习的能力,为未来更大的挑战做好了...
通过这次网站开发的经历,作者深刻认识到在项目管理、技术选型和技术实现等多个方面的重要性。这些经验不仅有助于个人技能的提升,也为未来类似项目的成功打下了坚实的基础。对于其他从事网站开发的人来说,这些经验...
总的来说,这些文件反映了项目开发的全生命周期,包括技术选型、开发实践、项目管理、用户体验等多个维度,对于提升个人和团队的IT专业能力具有重要意义。通过学习和反思,我们可以不断提高我们的技术水平和项目执行...
在这个物联网应用网站的开发过程中,张溢弛同学经历了四个主要阶段:技术选型与系统设计、代码开发、测试与收尾以及总结。以下是每个阶段的详细阐述。 1. 技术选型与系统设计阶段: 在这一阶段,张溢弛同学选择了...
"开发心得1"中提到了一些关键的开发经验,这些经验对于任何C#或物联网相关的项目都具有指导意义。 首先,设计报告的完整性是项目成功的基础。开发者在回看初期的设计报告时发现了一些不足,如数据库设计不全面、...
总的来说,软件开发是一个复杂的过程,涉及到技术选型、性能优化、兼容性处理、测试策略等多个层面。开发者必须具备解决问题的能力,同时也需要有良好的项目管理和团队协作技巧。通过不断的实践和学习,才能不断提升...
新软件项目开发计划书是软件开发过程中的重要文档,它为项目的启动、执行、监控和收尾提供了清晰的蓝图。以下是对新软件项目开发计划书的主要内容和关键知识点的详细阐述: 1. **项目背景与目标**:这部分通常介绍...
在整个项目开发过程中,团队积累了许多宝贵的经验和教训: - **技术培训**: 在项目启动阶段,加强团队成员的技术培训是非常必要的,特别是对于新技术的掌握。 - **代码审查**: 定期进行代码审查,可以帮助发现潜在...
在Java项目开发中,不同角色承担着不同的职责,确保项目的顺利进行。 ##### 辅导员(管理员) 1. **教务管理**: - 修改学校基本信息。 - 进行部门管理,包括部门经理和职员的管理。 2. **案例管理**: - 导入...
6. 实训报告:项目包含一份完整的实训报告,记录了开发过程中的问题解决、技术选型及优化策略,为后续学习者提供了参考。 四、开发流程 1. 设计数据库模型:根据需求分析,设计合理的数据库表结构,如用户表、歌曲...
标题中的“某项目的一些总结”表明这是一个关于某个具体IT项目的回顾和提炼,可能涉及该项目的技术选型、开发过程、遇到的问题以及解决方案等。而“源码”和“工具”两个标签则暗示了讨论内容可能围绕代码管理和实用...
项目分析报告关乎网页JSP设计分析,主要涵盖了项目开发中的多个关键环节,包括需求确定、架构分析和设计、业务逻辑分析与设计以及界面设计。以下是对这些知识点的详细阐述: 1. **需求确定**:需求分析是项目启动的...
在《我的工作流系统开发总结》这篇博文中,作者分享了其在开发工作流系统过程中的经验和心得,主要涉及源码管理和工具的运用。 首先,源码管理是软件开发中的基石。作者可能详细介绍了如何利用版本控制系统,如Git...
- **技术提升**:通过实际项目开发,加深了对Spring Boot等技术的理解和掌握。 - **项目管理经验**:了解了从需求分析到项目交付的完整流程,增强了项目管理能力。 - **团队合作**:学会了如何与团队成员有效沟通和...
3. **项目开发总结报告**:这份报告是对整个项目实施的全面总结,可能包含项目目标、技术选型原因、遇到的挑战及解决方案、项目成果等内容。它锻炼了开发者的技术写作能力和逻辑表达能力,也展现了对项目的反思和...
这个过程中的心得体会往往包含了个人的成长和对技术的深入理解,对未来的学业和职业发展都有着积极的影响。 综上所述,单片机课程设计是一次全面学习和实践的机会,涵盖了硬件设计、软件开发、系统集成等多个层面,...
根据给定的文件信息,以下是对Spring MVC实训报告中的关键知识点进行详细解析: ### Spring MVC 实训报告概览 ...此外,该实训还强调了团队合作的重要性,以及在项目开发过程中遵循软件工程原则的必要性。
回答示例:“在第一个项目中,电机选型确实是一个关键环节。我首先根据设备的负载特性、转速要求以及功率需求,初步筛选了几种合适的电机类型。随后,我深入研究了这些电机的技术参数,如转矩。
【描述】:虽然描述部分为空,但我们可以想象一篇优质的“项目经验总结”博文可能会涵盖以下方面:项目背景介绍,技术选型的原因,团队协作的经验,遇到的技术挑战,如何解决这些问题,以及项目实施过程中使用的工具...