物联网软件架构设计与实现
上QQ阅读APP看书,第一时间看更新

1.2
框架简介

如果一个公司的硬件产品众多,协议又各不相同,每一个硬件产品都对应一套上位机软件,需要专人维护,并且客户的需求经常变化,维护成本就会很高,增加了公司的运营成本。另外,修改同类硬件产品的配套软件,可能会出现新的BUG。大公司可以通过“堆人”来解决上述问题,但是对于中小公司来讲,无法承担此类成本,所以要通过一个软件框架来解决上述问题,同时降低开发产品、实施项目、运行维护等多方面的成本。

以市场需求为核心,随着公司的发展,需要重构软件系统,以适应应用场景的环境和硬件变化,降低运维成本,释放劳动力。所以一个成熟的公司需要软件框架支撑企业的发展。

从技术方面看,软件框架是一个系统全部或部分的可复用设计,通常由一组接口、抽象类和类之间的协作组成。随着软件产品的开发越来越复杂,解决问题的难度在不断提高,IT界一直在寻找更好的方法,如制定各种软件开发标准和规范,开发更高级且更有生产力的编程语言、更好的编译器、运行时不需要编译的解释性开发语言、功能强大且更通用的组件库,探索适用不同应用场景的设计模式等。

从软件工程角度出发,采用软件框架具有如下优势。

(1)尽量提高软件的可重用性,避免不必要的重复编码工作。

(2)提高组件的封装程度。

(3)提高软件的模块化程度。

(4)不同功能模块能够无缝集成。

(5)软件具有灵活的可扩展性。

(6)软件的扩展和开发标准化。

(7)软件产品具有面向不同应用层面的适应性和易移植性。

在设计层面上,越来越多的软件产品开始采用框架的思维进行结构设计。框架是一个被广泛使用的术语,它已经成为软件开发中一种非常实用且常用的设计和开发规范。

我们一定见过很多自称“框架”的软件产品,也许有人会觉得这么少的代码量居然也配自称软件框架?事实上框架与规模大小、代码多少无关,在架构师眼中,再简单的代码也可以用框架思维来设计。