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

2024-03-31

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


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

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

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

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

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

随机推荐

  • 如何在 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 语言是自下而上的 这种分类对于软件开发有什么重要性吗 自上而下 的方