实施软件平台与框架开发的注意事项
推荐 原创
©著作权归作者所有:来自51CTO博客作者李云的原创作品,请联系作者获取转载授权,否则将追究法律责任
我在《专业嵌入式软件开发 — 全面走向高质高效编程》一书中用一章的内容指出,软件平台与框架开发是高质软件的打造之路。这里想进一步谈一谈实施这一高质软件打造方法所需注意的事项。
首先,明确(软件)平台与框架开发的主要目的不是对操作系统的功能进行封装,而是为所需开发的上层应用提供服务。虽然平台与框架的开发需要通过对操作系统的功能进行封装来实现为上层应用提供服务,但两者的主、次不能颠倒。
以为上层应用提供服务为导向,有助于我们在平台与框架开发的过程中取舍哪些功能应纳入其范畴,而不致于“沦落为”包罗万象。
致力于将平台与框架打造成包罗万象的目的或许是为了提高其生存能力,但这并不是一种可取的思想。原因在于,各种操作系统所提供的功能并不完全相同,有些功能可以通过抽象的方法在不同的操作系统上为上层应用提供统一的接口,但有些功能却不能。如果平台与框架所提供的某一功能在一个操作系统上存在,在另一个操作系统上却没有,在使用者没有意识到这一点的情形下,当基于该功能模块的软件需要实现跨操作系统时就会出现问题。在平台与框架的设计上,除非万不得以,我们应尽可能从技术上避免这类问题的发生。
其次,一个平台很难适用于所有的应用领域,框架尤为如此。如前面所说,平台与框架是为上层应用提供服务的,而应用存在业务(或行业)领域问题。由于不同的领域可能具有完全不同的特点,这就使得同一平台或框架难以同时适用。很显然,抽象层次越高的软件模块其领域适应性就越差;反之,抽象层次越低其领域适应性就越好。比如,一个对线程进行简单封装的软件模块,由于其抽象层次低,所以几乎可以运用于任何的应用领域。
再次,平台与框架的开发是一个长期渐近的过程,而非一蹴而就的。在设计者没有足够软件行业和业务领域经验的情况下,要一口气设计出高质量的平台与框架是不大现实的。因此,通常情况下,平台与框架应当按需逐步演进。一方面,这可以避免过度设计所带来的资源浪费;另一方面,这有助于在我们发现设计不当时更方便地对已有设计进行改进。
软件需求的变更是一种常态,这种变更有时会反映于平台与框架不能适应新的需求。在这种情况下,需要我们回头审视现有设计,并对设计进行恰当的变更以适应新的需求。不少公司在打造自己的平台与框架时,刚开始的出发点是好的,但由于在实施过程中忽视了平台与框架存在“过时”问题,使得最终的结果并非如期所愿。用静态的思维对待平台与框架开发将最终导致前功尽弃,甚至引发怀疑这种方法的有效性。
最后,我们需要意识到,平台与框架开发所需的软件设计能力和业务经验要求更高、设计所涉及的范围也更广。从复杂度守恒的观点来看,引入平台与框架开发有助于简化上层应用的实现,但这种简化是通过将上层的复杂度转移到下层而做到的。正因如此,尽管平台与框架开发这种高质软件打造方法有效,但并不是每一个项目团队都能实施它,因为瓶颈在于缺乏具备实施这一方法所需能力的人。
下一篇:软件平台与框架的生命周期
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
C++读取NC格式数据的方法与注意事项
本文介绍基于C++ 语言的netCDF库读取.nc格式的栅格文件时,出现数据无法读取、数据读取错误、无法依据维度提取变量等情况的原因与解决方法~
NC格式数据 栅格数据 .nc格式 netCDF C++ -
converter 实施前注意事项
afdadsfsadf
职场 converter 注意事项 休闲 -
Scrum敏捷开发实施步骤和注意事项
Scrum敏捷开发实施步骤和注意事项
迭代 Scrum 敏捷开发 scrum工具 敏捷项目管理 -
python开发,注意事项
提高python代码运行效率 1、使用生成器,节约内存。【一边循环
python学习 生成器 提高效率 python -
【Redis】Redis开发规范与注意事项
参考资料使用Redis,你必须知道的21个注意要点 阿里云Redis开发规范
redis 参考资料 开发规范