您的位置:首页 > 编程语言

谈软件综合布线

2015-03-29 09:17 211 查看
将硬件的综合布线概念延伸到软件(硬件设计和软件设计存在很多相似的地方)。

1.1       硬件综合布线技术

在硬件技术发展的初期,布线(这里指硬件成品之间的布线,如网络设备等)这一块几乎是没有任何地位的,往往将其看做是硬件技术的一部分。这是由两部分原因构成的:(1)硬件应用规模、架构本身简单,布线仅仅只是负责将多个产品连接起来,关键点在硬件本身;(2)不同的产品个性化强,没有形成统一的标准。

随着硬件技术的发展,有了两方面的进步。这些进步催生了综合布线技术,它们是:(1)系统的规模变得越来越大,所包含的产品越来越多;(2)硬件产品开始标准化。

所以,一方面是规模的扩张,使得原来比较随意的、即兴的布线方式变得难于开展、难于管理、难于维护。为了解决问题,需要将布线提升一个高度,由从属的、不重要的地位提升到成为一个独立发展的体系。另一方面,综合布线要自成体系,需要硬件标准化的支持。因为毕竟综合布线要实现的是硬件产品的互联,如果硬件本身没有统一的标准,统一的接口,那么综合布线就没有独立发展的基础。

随着硬件系统的生命周期变得越来越长,期间因业务、应用的原因经常需要进行结构的调整,所以对结构调整的灵活性要求越来越高。而综合布线本身就是关注结构的,因此其地位也越来越高。硬件技术体系和综合布线体系的独立发展,是向更深层次、往更广领域发展的基础。

1.2       软件综合布线技术

软件技术和硬件技术在设计上存在很大的相似性。一个硬件产品是由多个部件互联而成的,一个硬件系统是由多个硬件产品互联而成的;同样,一个软件子系统是由多个模块互联组成的,一个大的软件系统是由多个子系统互联组成的。

软件的发展过程也跟硬件有着很大的相似性。最开始,软件的各个模块,子系统之间的关联关系是直接硬编码到模块、系统的内部的(如直接new一个需要引用的对象)。这种方式在小系统中采用是可以的,但是当软件的规模越来越大后,这样的硬编码方式就不利于管理维护了,灵活性非常低。特别的,软件设计开发的一个很大的特征就是要“改来改去”,这一点相信长期从事软件设计开发工作的人深有体会。

面对这样的困境,这里借助硬件的发展,提出软件综合布线的概念。所谓软件综合布线,就是将软件各个部件的关联关系从部件中抽离出来,成为一个独立的部分,统一管理维护。比较好的实现方式是配置文件。

像Spring框架的IOC容器就可以认为是软件综合布线的一个经典实现,做Java应用开发的人应该深刻体会到了Spring IOC带来的好处。在Spring中,将对象之间的关联关系独立到一个配置文件中,一方面便于管理,另外各个类也可以全心地关注于自己的逻辑部分,更易开发。

1.3       额外说明

其实,提软件综合布线技术的概念,也是“新瓶装旧酒”罢了。大家也就随意看看吧。这里只是希望通过这样的一个概念,引发大家的思考,我想,能引发思考的东西总是好的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息