1-抽象

作者: 胡巍 | 来源:发表于2017-11-27 23:00 被阅读21次

今天,越来越多的工作是借助电脑完成的了。
在这种情况下,学习更多的计算机知识,无疑是有益的。
比如,了解硬件和操作系统的知识,可以在购买数码产品的时候做出更好的选择。而会写一些基本的程序,可以避免许多重复性的工作。
很多人把这些东西看得很深奥,其实不是。你未必非得成为专家,才能解决很多问题。因为,在计算机科学里,有一个重要的概念,叫做「抽象」 (abstraction)。

所谓抽象,实际上就是这样的思考方式,当我们考察一个物体(或者对象、系统)A 时,我们不关心 A 的内部组成(或者原理),只关心它的功能。
其实日常生活中,充满了抽象的思维方式。使用手机的时候,你只在乎能用它开微信,而不在乎它里面是什么处理器,多大的内存,或者多少像素的摄像头。又比如开车的时候,司机不会关心轮子什么材质或者发动机多少功率。

在计算机科学里,和「抽象」非常相关的一个词,是「模块化」。这两种思想,简直无处不在。
无论是开发一个普通的软件,或者是操作系统,又或者是网络协议,我们都不希望所研究的东西是一团乱麻。因为这样太复杂了。
通常,我们会将研究对象,拆分为多个相互独立的模块,分别进行研究。这样一来,当我研究某个模块的时候,只要关心该模块怎么组成;对于其他模块,则只需知道提供了什么功能即可,并不用知道它们是怎么实现 (implement) 的。
举一些例子:

  • 开发软件的时候,通常都是在一开始想好整体架构,然后将各个模块分别实现。
  • TCP-IP 网络协议,分为五层。每一层都在上一层的基础上,实现相对独立的一部分功能。加起来就保证了可靠的网络通信。

有了这些认识,其实就不难想到,写程序并不是一件很困难的事情。很多该有的东西,别人已经给你造好了。你以为你需要成为一个木匠,其实你要做的就是搭积木。

相关文章

  • 1-抽象

    今天,越来越多的工作是借助电脑完成的了。在这种情况下,学习更多的计算机知识,无疑是有益的。比如,了解硬件和操作系统...

  • 关于 轮播 的几点总结

    1- 轮播的实现原理是怎样的?如果实现,会抽象出哪些函数(or接口)供使用?(比如 play()) 轮播的原理实际...

  • rust哲学--内存安全

    内存安全: 1-保证类型安全(侦测,优化,可读,抽象)保证程序行为意义明确,不出错。 2-安全内存管理模型,通过类...

  • 设计模式-面向对象设计原则

    1-依赖倒置原则(DIP) a, 高层模块(稳定)不应该依赖底层模块(变化),二者都应该依赖抽象(稳定)。 b, ...

  • 创建型模式1-工厂方法

    创建型模式1-工厂方法 创建型模式简 创建型模式主要有5个: 工厂方法(factory method) 抽象工厂(...

  • 抽象抽象再抽象

    抽象 继承 单一原则 面向扩展开放,面向修改关闭 控制反转,依赖注入 里氏替换原则 单一职责原则开放封闭原则里氏替...

  • 151221-网页形式设计

    《网页视觉设计创意拓展与快速表现》-晋小彦 1-使用现实物品作为主意向;分为:减法(抽象成区块),分块(划分内容布...

  • 【文魁大脑网络课第七季武林计划】成长部落 伍敏第2次案例二

    1. 抽象转形象 1- 欣赏 我的心上人啊,你好好看看我啊,我也是有很多优点的啊! 谐音+相关 2- 赞美 江苏...

  • 你的焦虑,正在一步步毁掉你

    上周我们谈到了信息焦虑,今天我们抽象地分析一下人生焦虑这件事。 -1- 朋友小M,知识付费的狂热分子,市面上主流的...

  • 《颠覆你的Python接口自动化测试》01-总体设计思路

    如何开始设计 1- 以结果为导向,反推要实现这些结果要细分为哪些步骤 2- 将每一步抽象为功能点 3- 各个击破,...

网友评论

      本文标题:1-抽象

      本文链接:https://www.haomeiwen.com/subject/wuujbxtx.html