编程中的封装

论封装

学习编程封装贯穿始终,汇编是将01包装,即把电流封装,c语言是将汇编包装,而函数进一步将代码封装。而后有发展出了 面向对象,以对象为单位进一步将函数与变量进行封装。

其实软件又何尝不是一种封装呢,将程序员写的代码进行封装,套上精美的外壳,点一下按钮就可以执行对应的程序。

为什么要有封装呢? 当一个项目越来越大,从底层开始实现就越来越难,举个例子,一个分子的构建,你可以从原子开始一个个搭起来,但一座大厦的构建,你还可以从原子开始大吗? 封装就是集成化,是一个工程发展变大所必行之举,由不同人各司其职。

现实社会也如此,我们都在使用一层层封装过后的物品。 这时候就需要封装,需要分工。由工厂生产对应的小部件,如螺丝之类,再由另一个厂商将螺丝等小部件组成对应的钢筋之类,最后再由厂商将钢筋之类组成大厦。

类比于程序,有人在底层研究芯片,开发对应的汇编语言,有人再将汇编语言封装为底层的api,其他人再利用这些api去开发组成封装程度更高的api,最后再由普通码农去利用这些api封装开发创造出程序给使用者 越往上封装,使用就越方便,毫无疑问软件是最方便的。越往上封装,因为它封装了更多细节,并使得对算法的要求降低,变得更加方便。

比如实现一个功能,可能你使用一个api一句话就得以解决,或使用软件的一个按钮就得以解决,而底层的话可能要写很多行代码,设计很多算法。

不过越往上封装,要实现全部功能所需的api就越多,这个是我认为的缺点之一,因为越往上封装,不同的组合变回创造出不同的可能性,要适应同一个场景,就需要更多的api. 例如虚幻引擎的api一定比opengl多 。

再补充一点,顶层的应用固然美妙,但底层的开发也很精彩,而底层开发更是国家所需要的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值