编程范式、设计模式和应用程序架构之间的区别?

2024-01-06

我没有编程背景,经常遇到编程范式、设计模式和应用程序架构等术语。虽然我认为我对这些术语的含义有一个模糊的理解,但如果有人能够澄清每个术语是什么、它们与其他术语有何不同以及这些概念如何应用于 Objective C,我将不胜感激。


编程范式:类似于“函数式编程 http://en.wikipedia.org/wiki/Functional_language", "过程式编程 http://en.wikipedia.org/wiki/Procedural_programming", and "面向对象编程 http://en.wikipedia.org/wiki/Object_oriented_programming“。编程范式和使用它们的语言决定了如何编写代码。例如,在面向对象编程中,代码被分为类(有时是语言功能,有时不是(例如 javascript)),并且通常支持继承以及某种类型的多态性。程序员创建类,然后创建类的实例(即对象)来执行程序的操作。在函数式语言中,计算机上的状态变化很大程度上由语言本身控制. 函数是第一类对象,尽管并非所有函数是第一类对象的语言都是函数式编程语言(这个话题是一个很好的争论)。用函数式语言编写的代码涉及大量嵌套函数,几乎程序的每一步都是新函数调用。对于过程式编程,C 程序和 bash 脚本是很好的例子,您只需说执行步骤 1、执行步骤 2 等,without创建类等等。

设计模式:设计模式是一种有用的抽象,可以用任何语言实现。它是一种做事的“模式”。就像如果您想要实现一堆步骤一样,您可以使用“复合”和“命令”模式,以便使您的实现更加通用。将模式视为以通用方式解决常见编码任务的既定模板。

应用程序架构:考虑如何构建系统来执行任务。因此,对于 Web 应用程序,架构可能涉及负载均衡器后面的 x 个网关,这些网关异步馈送队列。消息由 z 台机器上运行的 y 个进程获取,有 1 个主数据库和一个备份从数据库。应用程序架构涉及选择所使用的平台、语言和框架。这与软件架构不同,软件架构更多地说明如何在给定软件堆栈的情况下实际实现程序。

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

编程范式、设计模式和应用程序架构之间的区别? 的相关文章

  • 更改 UIImageView 的位置

    我怎样才能为 UIImageView 做一个简单的位置改变 假设当前坐标是 x 20 和 y 30 我想将其移至 x 100 和 y 100 可以制作运动动画吗 你需要改变它的CGFrameUIImageView就像这样 imageView
  • DI Control-Freak 反模式:难以理解

    我正在阅读 Mark Seemann 写的 NET 中的依赖注入 但我无论如何也无法理解这一点 虽然new当涉及到 VOLATILE 时 关键字是一种代码味道 依赖性 您无需担心将其用于稳定 依赖性 这new一般来说 关键字不会突然变得 非
  • MPMediaItemPropertyAssetURL 仅针对 iPhone 5s 返回 null

    我一直在使用以下代码从 MPMediaItemPickerController 返回的 MPMediaItem 对象中提取资产 url 以便我可以将音乐文件从用户 iPhone itunes 音乐库复制到文档文件夹进行处理 但在 iPhon
  • 我们还需要迭代器设计模式吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • UITableView 最后一个单元格被 UITabBarController 隐藏

    我面临一个奇怪的问题 我有一个UITableView在最初的UIViewController of the UITabBarController 起初一切都很好 但是当我更改选项卡并返回到第一个选项卡时 最后一个单元格UITableView
  • 错误域=NSURLErrorDomain代码=-1017“该操作无法

    我刚刚开始 ios 开发 我正在尝试与我的 api 交换数据 当我执行 POST 请求时 一切正常 但当我尝试执行 GET 请求时 出现以下错误 错误域 NSURLErrorDomain代码 1017 该操作无法 完全的 NSURLErro
  • 从视频生成缩略图 - ios7

    我用这个作为参考 从视频 URL 或 iPhone SDK 中的数据获取缩略图 https stackoverflow com a 6027285 1145339 该方法使用 MPMoviePlayerController 类而不是 AVF
  • NSString keepCount 是 2147483647 [重复]

    这个问题在这里已经有答案了 可能的重复 NSString 保留计数 https stackoverflow com questions 1390334 nsstring retain count Objective C NSString 属
  • 如何在我的应用程序中添加应用内购买

    我想在我的应用程序中使用应用程序购买应用程序 但我不知道如何执行此操作 任何人都可以帮助我如何做以及源代码在哪里 给我链接或代码 这里有一堆链接 应用内购买编程指南 http developer apple com iphone libra
  • 如何在 UITableView 中显示零行的表格

    我正在动态地将内容加载到 UITableView 中 如果有数据 表格需要显示数据 如果没有数据 表格应显示普通页面 但在我的应用程序中 表格显示带有两条分隔线的普通页面 我需要删除此分隔线并显示纯白色页面 请建议 任何帮助 将不胜感激 如
  • NSCalendar 返回明年第一周上周一的错误日期

    我使用下面的代码使用随机日期来计算上周一 哪个工作文件但我的代码在明年日期中断 下面是相同的代码 NSDate date NSDate dateWithTimeIntervalSince1970 1483620311 228 NSLog c
  • NSCFData isRessized 崩溃?

    我目前在控制台中收到此崩溃日志 2011 08 23 19 18 40 064 App 1697 707 NSCFData isResizable unrecognized selector sent to instance 0x11f1c
  • 纠正装饰器模式的一个大缺点

    不久前 我在重构一些游戏战斗代码时决定尝试装饰器模式 战斗者可以拥有各种被动能力 也可能是不同类型的生物 我认为装饰器可以让我在运行时以各种组合添加行为 因此我不需要数百个子类 我几乎已经完成了 15 个左右的被动能力装饰器 在测试中我发现
  • 您会认为这是单例/单例模式吗?

    想象一下 在 Global asax cs 文件中 我有一个实例类作为私有字段 我们这样说 private MyClass myClass new MyClass 我在 Global 上有一个名为 GetMyClass 的静态方法 它获取当
  • 如何在没有 SDK 的情况下在 Objective C 中为 S3 创建预签名 URL?

    我正在构建一个 mac 应用程序not使用 AWS iOS 开发工具包 我尝试构建的 GET 请求应遵循以下通用格式 Authorization AWS AWSAccessKeyId base64 hmac sha1 VERB n CONT
  • UIView animateWithDuration:delay: 工作很奇怪

    我在使用 iPhone 动画块时遇到了一个奇怪的问题 这段代码 UIView animateWithDuration 2 delay 0 options 0 animations void controller setBackgroundC
  • 访问目标 c 中的类方法。使用 self 还是类名?

    我正在学习 iOS 编程 并且对以下有关关键字 self 的使用的代码感到困惑 据我了解 self就像Java的this 它指的是当前实例 当我想调用类方法时 通常的方式应该是这样 PlayingCard validSuits 但是侵入实例
  • UITableViewCell显示多种字体

    我想在 uitableviewcell 中以类似于 iPhone 地址簿的不同字体显示两个单词 例如 约翰Buchanan 您应该使用两个 UILable 或者您可以使用OH属性标签 https github com AliSoftware
  • iPhone:UIApplication WillResignActiveNotification 从未被调用

    我正在视图控制器中播放视频 当用户按下硬件主页按钮并且当前正在播放视频时 应用程序崩溃并显示EXC BAD ACCESS在模拟器中 我读到我应该使用applicationWillResignActive停止视频播放的消息应该可以解决崩溃问题
  • 如何在 UICollectionView 中将行居中?

    我有一个UICollectionView与随机细胞 有什么方法可以让我将行居中吗 默认情况下它是这样的 x x x x x x x x x x x x x x 这是所需的布局 x x x x x x x x x x x x 我必须做这样的事

随机推荐

  • 如何在 GWT 表单面板中发布整个页面

    使用 GWT FormPanel 时 提交表单后 它会发布表单但不会重定向到操作 url 有谁能够帮助我 formPanelObject getElement
  • SSIS存储过程使用临时表2008和2014

    我目前正在编写一个 SSIS 包 它通过 OLE DB 源从存储过程中检索数据 存储过程包含一个相当讨厌的查询 我可以通过使用临时表来改进它 如果我将这些临时表切换为表变量 逻辑读取次数会从大约 130 万次跃升至大约 5600 万次 我对
  • 如何在android列表视图中使整行可点击

    我有一个ListView 其内容假设android在第一行 黑莓在第二行 iphone在第三行 所以现在我想让ListView的整行可点击 但是当我点击listview行的上面内容时 它只执行点击事件 但我如果我单击连续的任何位置 则应该执
  • 如何向已调试的Android应用程序授予权限?

    I have
  • Gitlab CI 作业在运行 mocha 测试之前成功

    我发现我的 Gitlab 作业正在成功并在实际测试运行之前结束 首先 我为我的应用程序安装所需的依赖项 然后调用mocha命令 但作业在它们产生任何输出之前就成功了 我的 gitlab ci yml image node lts alpin
  • ParticleSystem 中 BufferGeometry 的 Z 缓冲区问题

    在我的应用程序中 我遇到了 z 缓冲区的问题 我有一个粒子系统 其中的点具有看起来像球体的纹理 但有两个问题我无法同时解决 球体要么在 z 缓冲区中正确排序但不透明 要么它们是透明的但排序不正确 请看看我的JSfiddle http jsf
  • Java 泛型 - 类型信息消失?

    好的 我知道 Java 泛型对于粗心的人来说可能是一个雷区 但我刚刚遇到了一个不直观的 无论如何对我来说 行为 我想知道是否有人可以解释 首先 这是一个编译类 public class Dummy public List
  • Gradle 食谱“为其他插件创建源和资源目录”

    我可以在食谱中看到以下内容 task create dirs lt lt sourceSets all java srcDirs each it mkdirs sourceSets all resources srcDirs each it
  • 在 Google Cloud 中将 http 重定向到 https

    我已经设置了一个负载均衡器 它接受来自用户的 https 连接 然后 计算引擎使用 http 连接连接到负载均衡器 我在根文件夹中编写了以下 htaccess 文件 RewriteEngine On RewriteCond HTTPS of
  • 如何计算图表的趋势线?

    谷歌不是我的朋友 自从我在大学上统计课以来已经很长时间了 我需要计算图表上趋势线的起点和终点 有没有一种简单的方法可以做到这一点 使用 C 工作 但任何适合你的语言 感谢大家的帮助 我已经离开这个问题几天了 刚刚回来 能够将其拼凑在一起 不
  • 在Python中,一行中的多个“with”语句是否相当于嵌套的“with”语句?

    这两个陈述等价吗 with A as a B as b do something with A as a with B as b do something 我问是因为两者a and b改变全局变量 这里是张量流 和b取决于所做的更改a 所以
  • 使用 Git diff 检测代码移动 + 如何使用 diff 选项

    考虑文件 1 c 包含三个函数以及作者 M 和 J 所做的更改 如果有人运行git blame 1 c 他将得到以下输出 869c699 M 2012 09 25 14 05 31 0600 1 de24af82 J 2012 09 25
  • MVC @Html.DropDownList 在 ViewBag 中使用 SelectList 时出现错误

    我有一个在控制器中创建的列表 var PayList new new ListEntry Id 1 Name new ListEntry Id 2 Name Yes new ListEntry Id 3 Name No ViewBag Pa
  • 如何使用事件处理程序检测实时 DigiScan 图像何时完成获取完整帧?

    我正在寻找实时 DigiScan 图像的快照 但是 我只想在获取完整 或接近完整 的帧时才这样做 将事件处理程序附加到实时 DigiScan 图像不起作用 因为图像会随着连续采集的每一行而 变化 我希望仅监视实时图像的最后几个像素 并仅在这
  • Wordpress 有条件 if is_single

    我尝试在我的 single php 页面上使用条件语句 我想要做的是 如果它是自定义帖子类型 current products 则使用特定的 single product php 模板页面 如果不是 即标准博客文章 则使用默认的 singl
  • 使用 LINQ to MySQL (DbLinq) 和动态 LINQ 的可排序 JqGrid - Orderby 不起作用

    我在 JqGrid 中排序条目时遇到问题 Orderby 似乎不起作用 我在代码中设置了断点 我注意到 orderby 不会改变元素的顺序 知道可能出什么问题吗 我正在使用 LINQ to SQL 和 MySQL DbLinq 项目 我的操
  • 如何使用 BERT 进行机器翻译?

    我遇到了一个大问题 对于我的学士论文 我必须使用 BERT 制作一个机器翻译模型 但我现在一事无成 您知道可以在这里帮助我的文档或其他东西吗 我已经阅读了一些这方面的论文 但也许有文档或教程可以帮助我 对于我的学士论文 我必须将文本摘要翻译
  • 如何让 JavaScript 延迟,然后刷新页面

    我希望我的 JavaScript 在我创建的函数结束时等待七秒钟 然后刷新我的页面 如果它很重要 我在下面列出了 JavaScript 和 HTML 的重要部分 JavaScript var textfill function var no
  • 录音在java中不工作

    我正在尝试通过java录制声音 该声音正在我的Windows机器上通过扬声器 耳机播放 我遇到的问题是我没有找到 AudioSystem 支持的单个 TargetDataLine 我尝试了 getSupportedFormats 方法来检查
  • 编程范式、设计模式和应用程序架构之间的区别?

    我没有编程背景 经常遇到编程范式 设计模式和应用程序架构等术语 虽然我认为我对这些术语的含义有一个模糊的理解 但如果有人能够澄清每个术语是什么 它们与其他术语有何不同以及这些概念如何应用于 Objective C 我将不胜感激 编程范式 类