模块化（modular）编程，是强调将计算机程序的功能分离成独立的、可相互改变的“模块”（module）的软件设计技术，它使得每个模块都包含着执行预期功能的一个唯一方面（aspect）所必需的所有东西。模块接口表达了这个模块所提供的和所要求的元素。这些在接口中定义的元素可以被其他模块检测。模块实现包含了工作程式码，它们对应于在接口中声明的元素。模块化编程密切相关于结构化编程和物件导向编程，他们有着通过分解成更小部份的方式，促进大型软件和系统的建构的相同目标，并且都大致起源于1960年代。尽管这些术语的史