框架和平台的区别以及两者的重要性(出自“至简李云” 博客)
来源:互联网 发布:矩阵条件数多大算病态 编辑:程序博客网 时间:2024/04/30 08:03
框架(Framework)和平台(Platform)是软件行业中经常看到的术语,应当说也是这个行业发展的方向。在讨论其重要性之前,我们先看看两者在概念上的区别。
框架是针对一定的应用领域进行开发的,比如,ACE(Adaptive Communication Environment)就是针对网络通讯而开发的一个框架。框架通常对于应用进行了一定的抽象,将需要的一些通用的功能做成了软件模块。当用户(或开发人员)需要对应用进行开发时(即实现应用的功能时),如果采用框架,则只要实现针对应用的特定代码就行了。或者,我们可以理解为:框架为相类似的应用设计了一个骨架,而具体的应用只是在这个骨架上填上肉和皮肤。假如要做一个Server/Client程序,如果采用ACE,我们可以在Server侧用Acceptor来监听连接请求,而在Client侧则用Connector来发起连接。最后,Server与Client之间是一定有协议的,这些协议是针对特点的应用的,并不是框架的一部分,是用户必须其于框架去实现的特定的代码。
平台是通常和一定的操作系统相关,是对操作系统更高层次的抽象。平台一方面提供了所有使用硬件资源的API,另一方面也实现了一些通用的组件,这些组件可以服务于不同的应用领域。比如,常用的平台模块有,内存管理模块、Log管理模块、设备管理模块,等等。
如果用分层的概念来看框架和平台,假设上面是应用层,下面是硬件层,那么,我们可以认为框架是在平台之上的,是更加接近应用的。而平台是在框架之下的,是更加的通用的。同一个平台可以为不同的框架(应用领域)服务的。
框架和平台是目前行业很重要的开发方向,这足以体现了其重要性,那为什么会如此重要呢?我想总的来说应当是:为了代码重用和开发出高质量的软件。无论是框架还是平台,其思想都是为了代码重用。代码重用的好处,一是缩短开发时间,二是可以少犯相同的错误,而这也就提高了软件质量。此外,两者都是更高抽象层次的软件开发方法,是避免“重新造轮子”的开发方法。
通常一个好的框架设计都会基于一定的平台的,当然,平台可以有简单和复杂,框架中所使用的平台是应当是简单还是复杂,其标准应当是:保证框架能很快的被移植到新的操作系统。可见,有平台概念的框架有更强的适应性和生命力。应当说JAVA的兴起,给框架的发展打开了全新的篇章。
平台的设计除了对于现有的操作系统进行更高抽象层次的封装外,我认为基于虚拟机的语言的开发是一种新形式的平台开发。比如,Python、Java,其本身是构建在虚拟机上的,而其丰富的库可以说构建了平台的功能。这种形式的好处是,跨平台成了开发虚拟机的工作,而这通常都是由语言的创造者(社区或是公司)去完成的。
0 0
- 框架和平台的区别以及两者的重要性(出自“至简李云” 博客)
- 框架和平台的区别以及两者的重要性
- 框架和平台的区别以及重要性
- 架构、框架、模式和平台的区别
- 框架和平台的扩展性
- 进程和线程以及两者的区别
- 框架和平台
- dubbo-admian的打包和平台搭建
- Http与Socket的介绍以及两者之间的区别
- Hive与Hbase的区别以及两者的应用场景
- 架构、框架、模式和平台
- 阐述从Flash移植到iOS的框架和平台差异性
- 阐述从Flash移植到iOS的框架和平台差异性
- VS2013的Visual C++ 项目如何修改目标框架和平台工具集
- Maven和Ant简介以及两者的区别
- Maven和Ant简介以及两者的区别
- 线程与进程,以及两者的联系与区别。
- XML解析和Json解析简介以及两者的区别
- Kendo UI在线演示 (赞)
- AS adb连接设备时,error: could not install *smartsocket* listener: cannot bind to 127.0.0.1:5037
- 关于php的header的函数
- DWZ富客户端框架+DWZ简介及其使用+DWZ讨论组
- XML 国际化问题
- 框架和平台的区别以及两者的重要性(出自“至简李云” 博客)
- 父类构造器的隐式调用和显式调用
- linux 定期自动备份mysql的shell
- EL表达式截取字符串
- 集合类的一些知识
- Android-屏幕适配
- 初步使用JFinal实现简单登录demo
- PHP在linux上执行外部命令
- 网站SEO诊断的六个方面