Modular programming is a software design technique that emphasizes separating the functionality of a program into independent, interchangeable modules, such that each contains everything necessary to execute only one aspect of the desired functionality.A module interface expresses the elements that are provided and required by the module. The elements defined in the interface are detectable by other modules.