自上而下和自下而上编程[关闭]

2024-03-31

为什么我们说 C 等语言是自上而下的,而 Java 或 C++ 等 OOP 语言是自下而上的?这种分类对于软件开发有什么重要性吗?


“自上而下”的方法对问题进行高级定义,并将其细分为子问题,然后递归地执行这些子问题,直到分解为明显且易于编码的部分。这通常与“功能分解”编程风格相关,但并非必须如此。

在“自下而上”的编程中,您可以确定可以组合成更大程序的较低级别工具。

实际上,几乎所有编程都是通过组合方法完成的。在面向对象编程中,您通常通过识别域对象(这是自上而下的步骤)并细化这些对象来细分问题,然后将它们重新组合到最终的程序中 - 这是自下而上的步骤。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自上而下和自下而上编程[关闭] 的相关文章

  • 使用 Newtonsoft 和 C# 反序列化嵌套 JSON

    我正在尝试解析来自 Rest API 的 Json 响应 我可以获得很好的响应并创建了一些类模型 我正在使用 Newtonsoft 的 Json Net 我的响应中不断收到空值 并且不确定我的模型设置是否正确或缺少某些内容 例如 我想要获取
  • 如何区分用户点击链接和页面自动重定向?

    拥有 C WebBrowser control http msdn microsoft com en us library system windows forms webbrowser aspx在我的 WinForms 应用程序中 并意识
  • 获取两个工作日之间的天数差异

    这听起来很简单 但我不明白其中的意义 那么获取两次之间的天数的最简单方法是什么DayOfWeeks当第一个是起点时 如果下一个工作日较早 则应考虑在下周 The DayOfWeek 枚举 http 20 20 5B1 5D 3a 20htt
  • 使用接口有什么好处?

    使用接口有什么用 我听说它用来代替多重继承 并且还可以用它来完成数据隐藏 还有其他优点吗 哪些地方使用了接口 程序员如何识别需要该接口 有什么区别explicit interface implementation and implicit
  • 在 C 中初始化变量

    我知道有时如果你不初始化int 如果打印整数 您将得到一个随机数 但将所有内容初始化为零似乎有点愚蠢 我问这个问题是因为我正在评论我的 C 项目 而且我对缩进非常直接 并且它可以完全编译 90 90 谢谢 Stackoverflow 但我想
  • 在 Visual Studio 2010 中从 Fortran 调用 C++ 函数

    我想从 Fortran 调用 C 函数 为此 我在 Visual Studio 2010 中创建了一个 FORTRAN 项目 之后 我将一个 Cpp 项目添加到该 FORTRAN 项目中 当我要构建程序时出现以下错误 Error 1 unr
  • 具有交替类型的可变参数模板参数包

    我想知道是否可以使用参数包捕获交替参数模式 例如 template
  • Eclipse 启动时崩溃;退出代码=13

    I am trying to work with Eclipse Helios on my x64 machine Im pretty sure now that this problem could occur with any ecli
  • Qt - ubuntu中的串口名称

    我在 Ubuntu 上查找串行端口名称时遇到问题 如您所知 为了在 Windows 上读取串口 我们可以使用以下代码 serial gt setPortName com3 但是当我在 Ubuntu 上编译这段代码时 我无法使用这段代码 se
  • 使用自定义堆的类似 malloc 的函数

    如果我希望使用自定义预分配堆构造类似 malloc 的功能 那么 C 中最好的方法是什么 我的具体问题是 我有一个可映射 类似内存 的设备 已将其放入我的地址空间中 但我需要获得一种更灵活的方式来使用该内存来存储将随着时间的推移分配和释放的
  • C#:帮助理解 UML 类图中的 <>

    我目前正在做一个项目 我们必须从 UML 图编写代码 我了解 UML 类图的剖析 但我无法理解什么 lt
  • 为什么 std::strstream 被弃用?

    我最近发现std strstream已被弃用 取而代之的是std stringstream 我已经有一段时间没有使用它了 但它做了我当时需要做的事情 所以很惊讶听到它的弃用 我的问题是为什么做出这个决定 有什么好处std stringstr
  • 外键与独立关系 - Entity Framework 5 有改进吗?

    我读过了several http www ladislavmrnka com 2011 05 foreign key vs independent associations in ef 4 文章和问题 https stackoverflow
  • 等待进程释放文件

    我如何等待文件空闲以便ss Save 可以用新的覆盖它吗 如果我紧密地运行两次 左右 我会得到一个generic GDI error
  • CMake 无法确定目标的链接器语言

    首先 我查看了this https stackoverflow com questions 11801186 cmake unable to determine linker language with c发帖并找不到解决我的问题的方法 我
  • AES 128 CBC 蒙特卡罗测试

    我正在 AES 128 CBC 上执行 MCT 如中所述http csrc nist gov groups STM cavp documents aes AESAVS pdf http csrc nist gov groups STM ca
  • 包 javax.el 不存在

    我正在使用 jre6 eclipse 并导入 javax el 错误 包 javax el 不存在 javac 导入 javax el 过来 这不应该是java的一部分吗 谁能告诉我为什么会这样 谢谢 米 EL 统一表达语言 是 Java
  • CamcorderProfile.videoCodec 返回错误值

    根据docs https developer android com reference android media CamcorderProfile html 您可以使用CamcorderProfile获取设备默认视频编解码格式 然后将其
  • Spring Rest 和 Jsonp

    我正在尝试让我的 Spring Rest 控制器返回jsonp但我没有快乐 如果我想返回 json 但我有返回的要求 完全相同的代码可以正常工作jsonp我添加了一个转换器 我在网上找到了用于执行 jsonp 转换的源代码 我正在使用 Sp
  • 如何从 ODBC 连接获取可用表的列表?

    在 Excel 中 我可以转到 数据 gt 导入外部数据 gt 导入数据 然后选择要使用的数据源 然后在提供登录信息后 它会给我一个表格列表 我想知道如何使用 C 以编程方式获取该列表 您正在查询什么类型的数据源 SQL 服务器 使用权 看

随机推荐

  • 如何在 Perl 中使用 XSD 验证 XML?

    对于大多数 Perl 程序员来说这可能是一个简单的问题 到目前为止我只使用 Perl 两周 对 Perl 软件包非常陌生 我有一个简单的 XSD 文件 如下所示
  • 如何在Spring jdbcTemplate中设置Array/List作为参数?

    我有带有许多占位符 的 SQL 查询 它是动态构建的 我想放置值数组来替换占位符 数组的大小每次都可以不同 数组按顺序由所有参数组成 return jdbcTemplate query Queries someQuery new Objec
  • IntelliJ IDE(Rider、Android Studio...)-如何隐藏属性/方法/等上方的“使用”链接

    IntelliJ Rider IDE 版本 2022 1 上面的类属性或方法我有这个链接称为 usages 如何转动 usages 链接关闭 他们快把我逼疯了 我不知道这些东西叫什么 所以谷歌搜索没有给我任何结果 我浏览了 IntelliJ
  • HTML 用 css 隐藏选择下拉箭头

    有没有一种好方法隐藏所有浏览器的默认下拉箭头 我知道这个问题已经被问过几次了 但似乎没有一个适用于所有浏览器的解决方案 而且它们看起来都不太好 几年过去了 不知道现在有没有好的解决方案 我能解决的最好方法是 select ms expand
  • htaccess 将index.php重定向到根目录(包括子域)

    我正在尝试将 index php 文件重定向到根 我四处搜索并发现了几个类似于以下内容的代码片段 RewriteCond THE REQUEST index php RewriteRule index php http www domain
  • 描述 Android 中的“top”命令

    我正在制作一个小型 Android 应用程序来显示当前的总 CPU 使用情况 例如 Windows 任务管理器中的 性能 选项卡 我使用 top m 1 n 1 d 1 来获取CPU使用率 但我并不真正理解 top 的结果 结果如下 Use
  • 以位图为背景在画布上绘制

    我正在尝试在我拍的照片上画画 绘图工作无需绘制图片 但如果我绘制位图 我只能看到位图 但会出现 n 绘图 我尝试了很多 但似乎没有任何帮助 提前致谢 private class myView extends View implements
  • 如何在没有 gulp/grunt/webpack 的情况下将 google-closure-compiler-js 用于 node.js 应用程序?

    The docs https github com google closure compiler js没有任何单独使用它的例子 但他们确实这样说 除非您使用 Gulp 或 Webpack 插件 否则您需要通过标志指定代码 jsCode 和
  • 使用 LINQ 在 JSON 中创建树层次结构

    我有一个随机顺序的一些名字的简单列表 是否可以编写单个 LINQ 语句来创建 JSON 中的树层次结构 以便根据以下示例所示的规则对它们进行分组 Input Banana Apple Cheery Lemon Orange Output A
  • 如何使用 MSVC 从 Windows 命令行构建 DLL

    我从事 C 语言工作已经有大约 20 年了 但我从未构建过 DLL 我一直更喜欢静态链接 我使用命令行 cl exe 等 和 gnumake makefile 来构建我的 Windows 应用程序 我现在想构建一个DLL 但我很困惑 最终
  • “字符串”类型的参数不可分配给字符串常量联合类型的参数[重复]

    这个问题在这里已经有答案了 我再次在这里寻求有关 Typescript 启发式的一些指导 我在编写类型保护时遇到了麻烦 因为 Typescript 在比较时想要太窄 考虑以下场景 或打字稿游乐场 https www typescriptla
  • Laravel 5 内存测试

    我正在通过 behat 为我的大型 Laravel 5 项目编写测试 我在 MySQL 中有一个 MySQL 数据库的测试副本 以及该数据库的一个播种器 它共享其他环境的一些播种器 所有这些都按预期进行 但是 我尝试切换到使用 sqlite
  • 是否需要事件总线注销

    我正在实施MVPAndroid 中的模式 我正在使用EventBus让知道P从活动 A 重新输入活动 B 发生的事情以更新 A 的视图 我在构造函数中将演示者注册到 EventBus 内部 但我没有看到任何可以取消注册它的地方 public
  • Git:虽然我已经完成了 git pull,但未能推送一些参考文献

    当我更改一些文件并尝试推送时 我开始出现 无法推送某些引用 错误 大多数说明都告诉我们先执行 git pull 我已经完成了 git 说一切都是最新的 知道如何解决该错误吗 我还开始收到 没有可用版本信息 消息 我不知道这与该错误有什么关系
  • 如何让java输出英文错误而不是其他语言?

    我的系统是中文的 当我的java程序出现错误时 可能会输出非英文的错误信息 无法阅读 Caused by java io IOException CreateProcess error 2 系统脮也禄碌陆指露 or IOException
  • Sails.js 单页应用程序 (SPA) — 将所有丢失/未使用的路由重定向到单个控制器操作

    我正在使用 Sails js 作为后端开发一个单页应用程序 SPA 我想要的只是将所有路由重定向到单个控制器操作 但是 当我执行以下操作时 config routes js module exports routes GET MainCon
  • 使用 Webpack 5 为 Next.js 配置文件加载器选项

    我正在尝试将 Nextjs 应用程序从 Webpack 4 升级到 Webpack 5 目前我使用file loader使用 next config js 中的选项 next config js module exports module
  • 在 Windows 8.1 平板电脑上的 Web 应用程序中捕获图像

    我即将开发一个在 Windows 8 1 平板电脑上运行的应用程序 一个重要的功能是能够单击按钮来访问相机来拍摄一些照片 理想情况下 我想将其创建为Web应用程序由于多种原因 许可证 跨平台 开发时间 没有本机应用程序经验等 而不是本机应用
  • Qt 和 unicode 转义字符串

    我使用信号和槽从服务器数据中获取数据 这是插槽部分 QString text this gt reply gt readAll 问题是 文本变量将是 unicode 转义 例如 u043d u0435 u043f u0430 u0440 u
  • 自上而下和自下而上编程[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 为什么我们说 C 等语言是自上而下的 而 Java 或 C 等 OOP 语言是自下而上的 这种分类对于软件开发有什么重要性吗 自上而下 的方