有一次在坛子里泡的时候,说到了软件框架的概念,为了给玩硬件的小童鞋讲明白,就用Arduino做了个比喻。后来仔细一想,觉得Arduino真的把软件架构的宏观思想运用的非常好,于是今天再总结几句,免得以后忘了。
首先来比较一下库和框架。库是做好了被你调用的,框架是做好了按他的规矩使用的。这么说不太好理解,举例:如果你调用了伺服电机驱动,那么这个是库的应用;如果按setup(){}loop(){}的规矩写,就是使用了框架。
再来说说组件和插件。组件是独立的可以被调用的,插件是必须用在某一特定环境里的。对Arduino而言,包装好的驱动类就是组件,而驱动类对应的sample相对于ArduinoIDE环境,就很类似于插件。
最后看看对象和封装。这是面向对象很基本的概念,封装是把某一组功能和数据独立出来,减少与外界的直接关联,其直接产物就是对象。Arduino的高明之处不仅在于设计者使用C++的面向对象特征来降低硬件人员学习编码的门槛,更在于将模块视为对象,建立起Arduino生态系统的宏观结构。
满纸荒唐言,不知所云,望前辈先进诸君指教一二,不胜感激。
zigbee_904218839 2013-12-13 09:14