JavaScript语言精髓与编程实践笔记(3)

结构化程序设计语言

命令式语言的演化分为结构化编程面向对象编程两个阶段

  1. 对结构的解释包括三部分
概念 详情
控制结构 顺序,分支,循环
组织结构 表达式,语句,过程,单元,包
数据结构 基本数据结构,复合数据结构
  1. ‘冯·诺伊曼‘ 体系的核心是存储处理,前者被抽象成内存,后者被抽象成运算。所以,命令式语言的核心就是通过运算去改变内存(中的数据)

  2. 命令式语言的实质是面向存储的编程,这一类语言比其他语言更加关注存储的方式。在程序设计的经典法则“算法+数据结构=程序”中,命令式语言是首先关注结构(数据结构)的。

  3. 命令式语言在运算上也是基于上述的存储结构来进行算法设计。
    总结:命令式的程序语言的核心是数据结构,算法是围绕这数据结构而设计的。

如何抽象数据存储

命令式语言的发展最终都必然面临的问题是“如何抽象数据存储”

  1. 结构体:面向机器世界的存储描述。抽象程度明显过低,带来如下问题
  • 结构体和实体直接相关(面临数据的具体含义与关系)。并且不具备隐藏数据域的特性(可见性)
  • 脱离了具体环境与算法的结构体缺乏通用性。在大多数情况下,结构一旦设定,算法也就确定了。
  • 强类型导致僵化的类型与僵化的逻辑并存,影响了业务逻辑的表达。(由范型运算来解决这个问题)

强类型与范型出现的真正原因,仍然是‘结构体’面向存储进行的数据抽象。只有抽象层次更高些,抽象不会影响到存储本身时,这个矛盾才会被真正解决。

  1. 面向对象
  • 指定确切的可见性,极大程度避免不相干的子系统了解到更多的结构的细节。
  • 继承被用来解决结构体的通用性问题
  • 多态性,如果一个对象结构的相关逻辑是确定的,那么这个结构无论如何衍生,逻辑仍旧是确定的。

面向对象的基础是“结构确定,则算法确定”。即无论怎样的进行衍生,都不会影响到‘已经确定的类的设计’。
所基于的,仍是对结构的认可,如果基类设计的不合理,仍会带来不好的影响。
'结构化'的抽象是实体到结构体的直接映射;‘面向对象’的抽象是实体到类、衍生关系到‘类继承树’的映射。

  1. 接口
    我们将对象系统理解为3个元素的复合体
  • 数据,对象封装了数据体以及数据的存储逻辑。
  • 行为,对象向外表现了数据上可以进行的运算与运算逻辑。
  • 关系,对象系统设定了一些交互关系。

问题:数据系统与业务系统的耦合度还是过高(接口解决这个问题)

接口提出的观点:只暴露数据体的逻辑行为能力,而不暴露这种能力的实现方法和基于的数据特性。
有了接口,我们会发现系统间的关系变得清晰明朗:用或者不用。
接口首次从系统或模块中剥离了“数据”的概念,进而把与数据有关的关系也清理了出去,例如引用。它是目标系统与计算机系统的功能特性的投影:如果二者的投影一致,则必然是一个能够互换或互证的系统。
接口关注于行为的描述而不是结构的描述。接口基于的原则不是“结构确定,算法确定”,而是“在共同的规约描述下的(算法的)功能,是确定的”。突破了“结构影响算法”的边界。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,657评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,662评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,143评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,732评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,837评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,036评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,126评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,868评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,315评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,641评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,773评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,859评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,584评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,676评论 2 351

推荐阅读更多精彩内容