您的位置:首页 > 其它

程序猿,前路之路茫茫然 行业发展趋势

2013-07-31 14:15 232 查看
程序猿,前路之路茫茫然 行业发展趋势

飞鸽传书 行业发展趋势

纵观软件行业的发展过程与趋势可以看出一共经历了以下几个阶段:

◆ 面向机器语言(Monolithic)的开发模式:根据不同平台的机器语言来定制化开发代码,所以开发出来的代码通用性和可重用性比较差,但这也是当时和硬件和软件环境决定的。

◆ 面向过程(Procedure)的开发模式:独立于机器的程序语言(如C、Pascal等)使得开发过程逐渐变得简单了,用过程来描述我们的需求、用函数来封装我们的代码。面向过程的开发模式是对可重用代码的封装,这样相对于前面的面向机器语言开发模式又进了一步;

◆面向对象(Object)的开发模式:用更接近现实的对象来描述和绘制一个相对完整的事物。面向对象的语言(C++、C#、Java等),提供了更抽象的封装和重用模式。面向对象的开发强调从现实世界问题直接映射成我们的程序,所以就更接近人类的自然思维方式。面向对象的开发模式是对可重用对象的封装,所以比前面的面向过程开发模式又进了一步;

◆ 面向组件(Component)的开发模式:面向对象在很多方面都改善了开发模式,但是随着软件开发规模的逐渐扩大,在涉及分布式、异步架构等复杂环境中,代码级别的重用性差,可维护性差,效率低的弱点就变得尤为突出,因此人们以架构运行环境 (如.Net,J2ee等)来提供完善的支撑平台,从而把开发者解放出来,更专注于业务核心的开发。而这些业务功能以组件的形式(如DCOM, EJB等)发布运行在架构运行环境中。软件开发的重用模式也上升到业务组件的级别。面向组件的开发模式在异步架构、分布式等的系统中应用尤为突出,这种模式对面向对象开发模式进行了很好的补充;

◆ 面向服务(SOA)的开发模式:当软件的使用范围扩展到更广阔的范围,往往会面对更加复杂的IT环境和更加灵活多变的需求。服务(Service)的概念出现了,人们将应用 (Application)以业务服务(Business Service)的形式公布出来供别人使用,而完全不需要去考虑这些业务服务运行在哪一个架构体系上,因为所有的服务都讲着同样的语言。SOA考虑了业务发展的长期性,体现了"变化就是永恒"的思想。SOA的核心体现在企业应用或者业务功能上的"重用"和"互操作",而不再把IT与业务对立起来,这可以被视为在IT驱动业务的方向上迈出的重要一步。面向服务的开发模式是为了支持更加灵活的异构、分布式系统;

◆ 面向云(Cloud)的开发模式:其实利用前面的几种开发模式就可以解决当前各种应用了,但人们总是考虑对资源进行重组已达到对资源的最佳使用。这个时候云计算就诞生了。云计算(Cloud Computing)是网格计算、分布式计算、并行计算、网络存储、虚拟化、负载均衡等传统计算机技术和网络技术发展融合的产物。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。简单的说云计算简化了我们的基础架构且给企业提供了更大的可配置性和灵活性。在原有模式下如果构建一个小型的应用,你需要租用服务器、你需要考虑租用服务器的安全和稳定因素等。如果构建一个中大型的应用,我们需要花巨资购买硬件来集群,然后是巨额资金购买所需的系统软件而且这些也需要一些人员来维护。现在云能提供我们程序所需的硬件设备和软件设备,你所做的只是按照你的需要租用这些已有的资源,上传你的程序和修改配置文件,就可以灵活扩展或收缩你占用资源,这样就可以达到合理利用资源的目的,同时也减轻了维护这些软硬件的成本。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: