paradigms相关内容

如果 Java 人去 Scala,C# 去 F#,那么 Ruby 人去哪里寻找函数式必杀技?

我知道很多 Java 人已经开始关注 Scala,因为它在 JVM 上运行,Microsoft 世界中的很多人都在关注 F#,但是 Ruby 作为自然的函数继承者有什么? 在纯粹的 FP 意义上,Ruby 并不缺乏任何东西,相反,它有太多的人可能会说.函数式语言迫使程序员不要过多地使用全局变量和其他习语(尽管函数式语言中可以使用全局变量) 解决方案 对于什么是“函数式编程",有两个非 ..
发布时间:2022-01-05 10:10:21 其他开发

FP 和 OO 是正交的吗?

我一次又一次地听到这种说法,我试图理解和验证 FP 和 OO 是正交的想法. 首先,两个概念正交是什么意思? FP 尽可能地鼓励不变性和纯度,而 OO 似乎是为状态和突变而构建的——命令式编程的一个稍微有组织的版本?我意识到对象可以是不可变的,但 OO 似乎对我暗示了状态/变化. 他们似乎是对立的.这如何影响它们的正交性? 像Scala这样的语言让OO和FP都可以轻松搞定, ..

函数式编程和非函数式编程

在我大学二年级时,我们“教"了 Haskell,我对它几乎一无所知,对函数式编程更是一无所知. 什么是函数式编程,为什么和/或我想在哪里使用它而不是非函数式编程,我认为 C 是一种非函数式编程语言是否正确? 解决方案 函数式语言的一个关键特性是一流函数的概念.这个想法是你可以将函数作为参数传递给其他函数,然后将它们作为值返回. 函数式编程涉及编写不改变状态的代码.这样做的主要原 ..
发布时间:2022-01-02 13:27:59 其他开发

理解MVC:“胖"是什么概念?在模特身上,“瘦"在控制器上?

我试图理解模型上的“胖"与控制器上的“瘦"的概念,并根据我一直在讨论的内容,我有以下示例(摘自 freenode 讨论): Q:在 MVC 范式上,它说的是胖模型,瘦控制器.我在这里想,如果我有很多方法(在控制器上)只使用一些抽象方法来 CRUD(在模型上),我是在创建一个胖控制器而不是模型吗?或者他们说,胖模型,在返回什么而不是输入什么?这是我从未理解的事情 =) 感谢任何评论!非常感谢 ..
发布时间:2021-12-21 14:46:59 PHP

OOP vs 函数式编程 vs 过程式编程

这些编程范式之间有什么区别,它们是更适合特定问题还是有任何用例偏向于其他? 感谢架构示例! 解决方案 他们各有各的好 - 他们只是针对相同问题的不同方法. 在纯粹的程序风格中,数据往往与对其进行操作的函数高度分离. 在面向对象的风格中,数据往往带有一组函数. 在函数式风格中,数据和函数往往有更多的共同点(如在 Lisp 和 Scheme 中),同时在函数的实际使用方 ..

.NET 中的双重检查锁定

我看到了这篇文章,讨论了为什么双重检查锁定范例在 Java 中被破坏.如果变量声明为 volatile,范式是否适用于 .NET(特别是 C#)? 解决方案 在 C# 中实现单例模式 在第三个版本中谈到了这个问题. 它说: 使实例变量 volatile 可以使其工作,就像显式内存屏障调用一样,尽管在后一种情况下,即使专家也无法确切地同意需要哪些屏障.我倾向于避免出现专家不同意什 ..
发布时间:2021-12-06 11:24:25 C#/.NET

库和 API 之间还有区别吗?

每当我问人们 API 和库之间的区别时,我都会得到不同的意见.有些人给出了这种的定义,说 API 是一个规范和库是一个实现... 有些人会告诉你这种类型的定义,API是一堆映射出来的函数,而库只是编译形式的分布. 这一切让我想知道,在网络代码、框架和开源的世界里,真的有什么实际区别了吗?像 jQuery 或 cURL 这样的库可以交叉到 API 的定义中吗? 此外,框架是否会跨入 ..
发布时间:2021-11-15 01:48:01 其他开发

如何将 AOP 引入生产性软件开发?

我知道以前有人问过这个问题,但这是一年半前的事了,虽然我认为现在可能是重新提问的时候了.我也认识到它可能被视为主观的,但我想有一些客观的原因支持/反对 AOP. 我会对谁在软件开发中使用 AOP 以及为什么或为什么不使用它感兴趣. 我认为 AOP 是一种非常强大的范例,它可以使许多开发任务变得更容易.但是当谈到在实际项目中使用 AOP 时,我的经验是许多决策者几乎不接受它.您是如何将 ..
发布时间:2021-11-11 04:28:39 其他开发

您是否在生产软件中使用 AOP(面向方面​​的编程)?

AOP 在我看来是一种有趣的编程范式.但是,stackoverflow 上还没有关于它的讨论(至少我找不到它们).你对它有什么看法?你在你的项目中使用 AOP 吗?或者你认为它是一种不会存在很长时间或不会成为主流的小众技术(就像 OOP 那样,至少在理论上;))? 如果您确实使用 AOP,请告诉我们您还使用了哪些工具.谢谢! 解决方案 是. 正交问题,如安全性,最好使用 AOP ..
发布时间:2021-11-11 04:19:25 其他开发

面向方面编程与面向对象编程

与这里和全世界的大多数开发人员一样,我多年来一直使用面向对象编程 (OOP) 技术开发软件系统.所以当我读到面向方面的编程 (AOP) 解决了许多传统 OOP 无法完全或直接解决的问题时,我停下来想,这是真的吗? 我已经阅读了大量信息,试图了解这种 AOP 范式的关键,但我也是如此,因此,我想更好地了解它在实际应用程序开发中的好处. 有人有答案吗? 解决方案 为什么是“vs"? ..
发布时间:2021-11-11 04:16:52 其他开发

什么是面向方面的编程?

我了解面向对象编程,并且已经编写了很长时间的面向对象程序.人们似乎在谈论面向方面的编程,但我从未真正了解它是什么或如何使用它.什么是基本范式? 这个问题是相关的,但不是很问它: 面向切面编程与面向对象编程> 解决方案 AOP 解决了横切关注点的问题,这将是在不同方法中重复的任何类型的代码,并且可以'通常被完全重构到它自己的模块中,比如日志记录或验证.因此,使用 AOP,您可以将这些 ..
发布时间:2021-11-11 04:16:21 其他开发

面向对象编程和过程编程有什么区别?

据我所知,过程编程使用过程和函数或子例程.它提供了有关如何操作的分步说明.虽然另一方面面向对象我并不完全确定.我所看到的只是它使用“对象"并且几乎​​相同?有人可以澄清和解释对象到底是什么吗? 解决方案 将所有编程视为管理两个基本概念之间的关系: 状态和行为.状态是程序的数据.行为就是逻辑. 过程式编程基于分别实现这两个概念.状态保存在数据结构中.行为保存在函数(也称为过程或子例程 ..
发布时间:2021-06-12 19:10:05 其他开发

让递归函数永远运行?

我碰到一个函数,里面有一个 setTimeout ,超时时间呈指数增长(timeout * = 2). let超时= 10000函数foo(){//doSomething而不会中断,返回setTimeout(foo,超时)超时* = 2;}foo() 这似乎不应该是一个问题,并且直观地感觉到 setInterval 有点已经在做(具有无限循环,直到有可能被取消为止),我的问题在于方法本身. ..
发布时间:2021-05-09 19:50:23 前端开发

在方法开始和结束时进行错误处理的优缺点是什么

根据我的程序员的经验,我在所有可能的方式上都混合了错误处理...我创建了个人风格. 但是,我想听听在方法的开始还是结束时,您认为错误处理的优缺点. 开始处理: 公共字符串GenerateSomeStringData(字符串数据,整数值){如果(数据==空)抛出新的ArgumentNullException("data");如果(值 ..
发布时间:2021-05-04 20:45:39 C#/.NET

编程中的声明式和命令式范式有什么区别?

我一直在网上寻找声明式和命令式编程的定义,这将为我提供一些启发.但是,在我发现的某些资源中使用的语言令人生畏-例如在 Wikipedia .有没有人有一个真实的例子可以向我展示这个主题,也许可以带给我一些观点(也许在C#中)? 解决方案 LINQ是一个很好的C#声明式与命令式编程示例. 通过命令式编程,您可以逐步告诉编译器您要发生的事情. 例如,让我们从这个集合开始,然后选择奇 ..

我应该在哪一层将2个实体连接在一起?

我使用Spring MVC和常规JDBC. 我刚刚了解到,我应该将业务流程分为表示层,控制器层,服务层和存储库/DAO层.现在假设我有一个名为Person的实体,该实体可以具有多个Jobs. Job本身是另一个具有自己属性的实体.从我收集到的信息来看,存储库层仅管理一个实体.现在,我有一个包含另一个实体的实体.我在哪里“加入"他们?服务层? 假设我想得到一个person,它的job尚不 ..
发布时间:2020-07-02 06:26:43 Java开发

使困惑. OO是天生必需的还是它是多范式的?

当我阅读完stackoverflow的答案和问题后,我得到的印象是,将OO划分为固有的功能. 但是OO不仅仅是将代码和数据划分为现实对象的一种方法吗? 如果是这样,为什么要放弃其他较低级别的范例在这样的平台上工作? IOW,一种默认情况下不变的基于对象的通用类型系统将是功能性第一语言的工作方式,默认情况下易变的基于对象的通用类型系统将是命令性语言的世界. 或者我完全错过了什 ..
发布时间:2020-07-02 06:26:41 其他开发

如何将AOP引入生产性软件开发中?

我知道这个问题以前曾被问过,但这是一年半以前的,尽管我认为可能是重新提出问题的时候了.我也认识到它可能被认为是主观的,但我猜想有/反对AOP的客观原因. 我会对谁在软件开发中使用AOP ,以及为什么或为什么不使用它感兴趣. 我认为AOP是非常强大的范例,它可以使许多开发任务变得更容易.但是,当涉及到在现实世界项目中使用AOP时,我的经验是许多决策者几乎不愿意接受它. 您如何设法将AOP ..
发布时间:2020-07-02 06:26:37 其他开发

tkinter和GUI编程方法

希望这不属于“一般性讨论主题",因为我希望它更有效地解决这些问题,而不是就哪种通用的GUI编程方法绝对是最佳的争论而展开./p> 因此,我已经开始使用tkinter进行一些GUI编程,并且总的来说,我的代码很快变得非常丑陋.我正在尝试为视频游戏创建基于图块的地图编辑器.我的主要问题似乎是: 回调无法返回值. 无法在Windows之间轻松传输数据. 我认为将这些问题视为问题的原因是因 ..
发布时间:2020-07-02 06:26:36 Python