首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“程序到接口而不是实现”的起源是什么?

“程序到接口而不是实现”的起源是什么?
EN

Software Engineering用户
提问于 2016-01-05 18:26:06
回答 1查看 875关注 0票数 6

“程序到接口而不是实现”的起源是什么?

它是起源于GoF 1994年的设计模式,还是来自计算机科学家,还是源自计算机科学中的一些概念?

EN

回答 1

Software Engineering用户

发布于 2016-01-05 22:54:45

“程序到接口,而不是实现”是描述软件构建过程的简洁方法,这一表述很大程度上归功于“四人帮”。

然而,他们描述的过程起源于肯特贝克坎宁安,他们提出了使用“模式语言”(这一概念归因于架构师克里斯托弗·亚历山大 )来编写面向对象程序的想法。

从他们的OOPSLA-87谈话中,"在面向对象程序中使用模式语言":

我们建议彻底改变设计和实现的负担,使用的概念来自克里斯托弗·亚历山大( Christopher )的工作,他是一位建筑师,也是环境结构中心的创始人。亚历山大建议住宅和办公室应由最终的住户设计和建造。他解释说,这些人最了解他们对特定结构的需求。我们同意,并对计算机程序提出同样的论点。计算机用户应该自己编写程序。考虑到建筑和项目的规模和复杂性,以及多年来对设计职业的培训,这个想法听起来很愚蠢。然而,亚历山大给出了一个令人信服的设想。它围绕着一个叫做“模式语言”的概念。模式语言通过为设计过程中出现的所有问题提供可行的解决方案来指导设计人员。它是以一种风格写成的一系列知识序列,并按顺序排列,使设计师在正确的时间提出(并回答)正确的问题。亚历山大以书面形式对这些知识进行编码,每一个都有相同的结构。每个问题都有一个问题的陈述,一个造成问题的情况的摘要,最重要的是,一个在这些情况下有效的解决方案。模式语言为完整的结构、例如住宅建筑或交互式计算机程序收集图案。在模式语言中,模式连接到其他模式,其中一个模式中的决策会影响其他模式。书面模式包括这些连接作为序幕和结语。Alexander已经证明,非平凡的语言可以不受其影响的循环来组织,这使得设计过程可以继续进行,而不需要逆转先前的决定。

票数 6
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/306597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档