当前位置: 首页 > 网络应用技术

我们应该如何选择功能编程或面向对象的编程?

时间:2023-03-07 21:42:42 网络应用技术

  如果您觉得我的内容还不错,请给我赞美或关注。

  (功能编程)最近一直是一个非常流行的概念,但是这个概念已经诞生了60多年。Doday的最佳Python,Ruby,JavasCritp支持功能编程,甚至是旧的面向对象的Java和PHP,支持匿名功能。

  功能编程不再是学术界的最爱,并且开始投资于行业。单位测试是最好的例子。

  功能编程缺乏流行的入门教程。各种介绍文章充满了数学符号和特殊术语,使人们像云一样阅读。

  主要原因是将操作过程尽可能多地写入一系列嵌套功能。

  例如,一种简单的表达方式

  如果您使用编程步骤表达

  如果我们以函数的形式表达上述表达

  函数编程的核心之一是每个步骤都是一个简单的操作,并且有一个返回值。这是一种在RXJS中引导管道方式的方法。

  在功能编程中,我们必须了解一个概念和最有问题的问题。

  几年前,考试中必须采取的话题

  如果UI开发现在是我们的最低单元,那么功能编程,功能是我最小的单元。在开发过程中,我们将分类具有多个功能的逻辑并执行单元测试。最后,它通过组合形式成为业务逻辑操作。

  例如,将f(x)和g(x)组合到f(g(x))中,也就是说,f和g只能接受一个参数。如果可以接受多个参数,例如f(x,y)和g(a,b,c),功能非常麻烦。

  此时,需要该功能。所谓的“ Corry”是将多参数函数转换为单个参数函数。

  使用Corride,我们可以转换为以下方式

  这是一个简单的例子。至于最终要做的事情,您意识到了什么样的咖喱功能。

  如上所述,我们的逻辑是将多个功能变成大型业务处理。在上面的示例中,再次查看该组合并不难。

  当然,我们经常编写代码不执行此操作。通常,封装了后端控制器 - > service-> API的概念。

  这是功能编程的想法。一切都变成了一件小事。当我们进行单元测试时,我们将检查小功能是否会出现问题。当您遇到新场景时,您也可以执行组合。

  例如,formatresult emailnotnull可以直接使用。在新业务方案中呼叫!

  OOP的特殊功能是继承。此外也提到了。我们的功能模块可以拆卸以打开多个功能以进行组合。由于该函数已分散,因此我们需要在开发新功能时执行组合。

  让我们谈谈上述示例。如果我需要进行不同的格式和PC登录,上面的代码将成为以下情况。当然,此处的代码相对简单,因此只能实现一个参数,但是如果您的一个场景发生太大变化,则构成了目前更大。

  如果您使用OOP

  实际上,这两个想法都非常好。有时,两者一起使用会更好。这需要您考虑业务和思考。系统设计不是最好的解决方案。只有最完美的是最完美的。如果您有单元测试,功能编程确实是一个不错的选择。在测试案例模型中,需要考虑更多的依赖项。好像您调用API接口,不要考虑相关的数据模拟。

  原始:https://juejin.cn/post/70962950894885255