问题标签 [paradigms]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
597 浏览

model-view-controller - MVC 的好例子?

任何人都可以为模型-视图-控制器范式指出/给出一个非常非常正确的例子吗?我的意思是一些非常简单的东西(比如英寸到厘米的转换器),用一些易于理解的语言(VB.NET?)实现,绝对且完全遵循 MVC 原则。

0 投票
5 回答
9182 浏览

php - 理解 MVC:模型上的“胖”、控制器上的“瘦”是什么概念?

我试图理解模型上的“胖”与控制器上的“瘦”的概念,从我一直在讨论的内容来看,我有以下示例(取自 freenode 讨论):

问:关于 MVC 范式,它说 Fat 模型,skinny 控制器。我在这里想,如果我有很多方法(在控制器上)只使用几个抽象方法来 CRUD(在模型上),我是在创建一个胖控制器而不是一个模型吗?或者他们说,胖模型,参考返回的内容而不是输入的内容?那是我从未理解过的东西 =) 任何意见都表示赞赏!非常感谢

OBS1:我不是按模型做的,在控制器中,我只有控制模型的方法

OBS2:假设“checkIfEmailExists()”具有“john@hotmail.com”作为参数。该方法将从查询该参数是否存在于表中的模型方法中获取返回值,返回布尔值。如果为0,“checkIFemailExists()”将调用不同的模型方法,这个,他只是另一个抽象方法,执行更新操作。

OBS3:“checkIfEmailExists()”不只是一个控制器吗?他实际上并没有执行任何 CRUD,他只是在比较值等。这让我感到困惑,因为在我的脑海中这是一个控制器:S

注意:我想这不是最好的例子,因为说“检查是否存在”,听起来像是查询我的表操作

Q2:还有一个问题,假设我有一个视图表单,该电子邮件地址参数是从哪里发送的。你是说视图直接进入模型?

Q3:控制器不应该在他们之间行动吗?这就是范式

最后注:讨论结束,说我错了,希望没问题(我正在学习)。但是,那么,Q2 和 Q3 的正确答案是什么?

感谢您的关注

0 投票
5 回答
839 浏览

python - 还有什么其他语言可以与 Python 很好地协同工作?需要建议

好的,所以我知道编程语言的基础知识,我研究过 python 并且非常喜欢它。我现在正在研究 python 的中间部分,我已经掌握了这些概念。我正在处理一个项目,同时解决练习算法使用的计算机问题。我了解到 python 有局限性,并希望通过学习另一种编程语言来弥补这些局限性。

您建议哪种编程语言可以与 python 很好地协同工作?我想要一些可以在使用 python 和与之相辅相成的语言时给我他们实际经验的东西。诸如“尝试铁蟒或 jython blah blah blah”之类的答案将无济于事,如果您能给我它的优点和缺点,它的成熟度是问题,那么这对我来说已经足够了......非常感谢

编辑-对不起,我想我需要在其中添加一些细节。我将主要使用 python 进行网络编程或游戏开发。因此,如果您认为这种语言 A 可以帮助我在 python 中进行 Web 编程,那么就是这样。

0 投票
1 回答
127 浏览

programming-languages - 专业开发人员的基本语言范例

所以我猜大多数(全部?)程序员开始学习主要是命令式/过程式编程范式,并且可能在那之后不久就学习了某种形式的面向对象编程。我已经阅读了大量关于 stackoverflow 的问题,这些问题表明函数式编程对于提高并发性/并行性越来越重要。此外,程序员应该学习许多范式以提高他们的技能并拓宽他们的视野。

还有哪些其他范式(以及使用它的语言)对开发技能真正有益?

0 投票
6 回答
32896 浏览

oop - 面向对象编程的替代方案?

OOP 可能是当今软件设计中最常用的编程范式。我的问题是——还有什么其他范式可以与之竞争并可以代替 OOP?为了澄清这个问题,我不是在问还有哪些其他范式。有很多,但我想知道是哪一个……</p>

  • 已在实践中使用,而不仅仅是在理论上。
  • 可以与 OOP 竞争,因此可以以最小的痛苦用于大型项目。
  • 可用于开发具有业务逻辑、数据库等的桌面应用程序。
  • 不与 OOP 一起使用,而是作为 OOP 的替代品。

如果有的话,它的优点/缺点是什么,为什么它比 OOP 更好/更差,什么语言最适合使用它,在流行语言中使用它怎么样,是否有任何设计模式,是否可以完全取代OOP?

0 投票
1 回答
1086 浏览

programming-languages - 并发计算的示例问题

今天有大量用于并发编程的范例和方法。软件事务内存、参与者、共享状态并发、元组空间等等。

然而,我发现缺少的是一个有趣的并发测试问题库。一个众所周知的例子是“餐饮哲学家问题”,它既不够复杂,也不够励志,也不够现实。然后有许多并行算法(矩阵乘法,渲染,一般嵌套数据并行)只需要分配工作,但没有真正的并发与执行线程之间的通信。

那么,谁能指出一些有趣的问题,这些问题需要在交互式甚至分布式环境中实现真正的并发,这些问题足够简单,可以用作并发范式的示例?理想情况下,我想找到一组问题作为并发范式的“缺乏测试”(或突出它们的差异,因为每个范式都有其优点和缺点)。

任何帮助深表感谢 :)

0 投票
4 回答
236 浏览

user-interface - 我应该隐藏还是销毁 UI 元素?

我想知道,每当我遇到必须暂时隐藏某些 UI 元素的情况时,是否足以隐藏它(许多框架都提供此选项),或者我应该删除内存中的对象并稍后在需要时重新创建它(具有相同的参数)。

每种解决方案的优缺点是什么?我在想,也许通过隐藏元素可以保存可能很重要的状态信息,并且还可以节省分配时间,所以对于必须在短时间内隐藏的元素来说,这可能是更好的方法。但是如果时间变大怎么办?然后我会一直在内存中有一个不需要的对象。

一个例子,为了清楚地说明我在说什么,它是一个工具栏,它可以根据一些上下文变化来改变按钮。也就是说,通常有一些按钮附在工具栏上,但是当用户在界面的其他部分选择一个操作时,这些按钮必须被新的按钮替换(其中一个是“完成”按钮)。同样,当用户选择工具栏中的“完成”按钮时,它会返回到初始状态。

我不知道这是否是一个愚蠢的问题,也许我正在做一些类似过早优化的事情......但我会感谢你的所有回答。

0 投票
11 回答
1679 浏览

programming-languages - 是否有任何不基于操作变量和函数的编程范式?

几乎我所知道的每一种语言基本上都是一个主题的变体:你创建变量和函数,然后使用条件和其他结构来操作它们。我了解函数式编程之类的语言与“传统”语言有些不同,但在本质上它们几乎相同。您仍在使用变量(在某种程度上,即使它们是不可变的等等),并创建函数。

是否有任何语言或系统完全摒弃了我们现在倾向于使用的东西并采用完全不同的方法?

0 投票
8 回答
32362 浏览

api - 库和 API 之间还有区别吗?

每当我向人们询问 API 和库之间的区别时,我都会得到不同的意见。有人给出这种定义,说 API 是规范,库是实现......

有些人会告诉你这种类型的定义,API 是一堆映射出来的函数,而库只是编译形式的分布。

这一切都让我想知道,在网络代码、框架和开源的世界里,真的有实际的区别吗?像 jQuery 或 cURL 这样的库可以交叉到 API 的定义中吗?

此外,框架是否完全跨入这一类别?Rails 或 Zend 中是否有更“类似于 API”或“图书馆式”的部分?

真的很期待一些启发性的想法:)

0 投票
10 回答
9497 浏览

emacs - 有哪些现代编辑器与 emacs/vi 竞争?

Emacs 和 vi 是编程大师的传统编辑器。但是,是否有任何现代编辑器能够在可扩展性和文本编辑效率方面取代这两者?

我知道诸如 Eclipse 之类的编辑器和商业编辑器提供了特定于语言的优势,例如智能感知和重构,尽管这并不是我想要的。我的问题更像是在更一般的层面上的创新编辑器范式,这样我就可以将它用于许多不同的语言,将它扩展到其他任务等。