gpt4 book ai didi

functional-programming - 函数和模块有什么区别?

转载 作者:行者123 更新时间:2023-12-04 08:42:55 24 4
gpt4 key购买 nike

我对 c++ 非常陌生,并且对 之间的区别感到困惑模块化编程面向函数的编程 .我从来没有做过模块化编程,所以我只知道模块定义它包含函数。那么顺序(面向函数的语言)和模块化编程有什么区别?提前谢谢。

编辑:
我正在阅读有关 C++ 的 OOP。它开始类似于 非结构化编程 ,然后给出了关于 的基本概念结构化编程 , 比 模块化编程最后,面向对象 .

最佳答案

模块化编程主要是一种减少计算机程序耦合的策略,主要是通过封装。

在模块化编程之前,结构化编程确保了代码的局部一致性,但缺乏全局一致性:如果您决定将您的拼写检查字典实现为红黑树,那么这个实现将暴露给其他人该程序使从事文本渲染等工作的程序员能够访问红黑树节点以对它们进行有意义的操作。

当然,一旦您需要更改字典的实现,这就变成了 hell ,因为那样您还必须修复其他程序员的代码。

更糟糕的是,如果实现细节涉及全局变量,那么您必须非常小心谁更改它们以及以什么顺序更改它们,否则会出现奇怪的错误。

模块化编程通过将实现(模块私有(private))与接口(interface)(程序的其余部分可以使用)分离,对所有这些进行了封装。因此,字典模块可以公开一个只能通过模块函数访问的抽象类型,例如 findWord(word,dictionary) .在字典模块上工作的人永远不需要在该模块之外窥视以检查是否有人可能正在使用实现细节。

关于functional-programming - 函数和模块有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4767288/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com