首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是最重要的结构化软件设计原则?

什么是最重要的结构化软件设计原则?
EN

Stack Overflow用户
提问于 2010-01-27 05:28:48
回答 3查看 2.6K关注 0票数 4

今天我看到了一份工作描述,要求“在C++编程方面有丰富的经验,并对结构化设计原则有透彻的基础”,所以我想了想这些原则是什么。首先,我觉得在一句话中看到C++和“结构化设计”有点奇怪,然后我想,OK C++是一种多范式编程语言,所以它可能像C一样使用。我还查阅了Wikipedia page并阅读了关于异常处理和状态机是反结构化设计的内容(这并不奇怪),但我仍然觉得缺少很多东西。所以我想问你,什么是最重要的结构化软件设计原则?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-01-27 05:51:35

结构化编程和结构化设计不一定是一回事。一般而言,结构化设计将重点放在将事物分解为结构化元素。这里有一堆同样有效的方法,但我想说的是,它们中的大多数都专注于信息隐藏。

  • 面向对象设计显然将事物分解为对象,操作和数据在紧密绑定的类中保持在一起。在hierarchies
  • Abstract数据类型中相关的数据类型本质上是非OO等效物,其中数据和操作保持在一起,但并不像面向对象设计中那样绑定在一起。层次结构和继承在ADT中不起作用,至少在我的seen.
  • Metaprogramming侧重于构建泛型类型,然后针对特定数据types
  • Programming进行适当专门化的那些ADT中不起作用。ADT侧重于避免直接继承。通常,它通过组合多个classes.
  • Design模式将契约接口与实现结合起来,重点关注可以在几乎任何上下文中实现的高级元设计(模式),尽管它们最常出现在OO设计的讨论中。

知道如何在多种范式中构建程序总是很有价值的知识。知道如何谈论设计的结构是更挑剔的,但最终更有价值。

票数 5
EN

Stack Overflow用户

发布于 2010-01-27 10:30:12

MyersYourdon and Constantine关于组合/结构化设计的经典著作中,最重要的两个原则是

  • 耦合(不同的模块如何与一个another)
  • Cohesion相关(模块的内部结构如何)

我同意Mike Burton的观点,广告的作者可能缺乏线索,但你可以很容易地温习“模块耦合”和“模块内聚”,如果你能在图书馆找到它们,这些书值得一读。我只能在IBM pay站点上找到the original paper

票数 4
EN

Stack Overflow用户

发布于 2011-01-24 08:00:33

我总是指的是1981年10月发表在IEEE Micro Magazine上的一篇古老的文章,作者是贝尔电话实验室的G.D.Bergland-信不信由你。它大约有13页长,给了你几乎所有你需要知道的东西。问题是你可能找不到它-即使在IEEE上-即使你是会员。

你可以在Amazon上找到另一本非常好(虽然很旧)的书“软件设计技术教程”,作者是Peter Freeman (编辑)。

http://www.amazon.com/gp/offer-listing/0818605146/ref=dp_olp_0?ie=UTF8&redirect=true&condition=all

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

https://stackoverflow.com/questions/2142780

复制
相关文章

相似问题

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