Het exporteren van bepaalde componenten - en het verbergen van andere- kan op verschillende manieren in een taal zijn gemodelleerd: - In sommige talen (Ada, Modula-2, Eiffel) is een module in tweeën gesplitst. Er moet van elke module apart een interface-gedeelte worden gedeclareerd, waarin de componenten staan gedeclareerd die worden geëxporteerd, en een impementatiegedeelte waarin de implementatie staat uitgewerkt. - In andere talen is een module 1 geheel. Er moet dan expliciet worden aangegeven welke componenten worden geexporteerd. Dit kan met een exportlijst (zoals in een klasse in Java). Componenten die niet n de exportlijst voorkomen (Haskell) of toegang private hebben (Java) zijn verborgen.