Muitos programas de software permitem que os desenvolvedores escrevam módulos (também chamados plugins, extensões, complementos etc.) para aumentar a funcionalidade. Não há resposta única, pois depende do tipo de software. Aqui estão alguns exemplos:
*
linguagens de programação: A maioria das linguagens de programação (como Python, Java, JavaScript, C ++, etc.) são projetadas para serem extensíveis. Bibliotecas e estruturas são essencialmente módulos que adicionam funcionalidade.
*
Sistemas operacionais: Sistemas operacionais como Windows, MacOS e Linux permitem que os usuários instalem drivers e outros softwares que estendem seus recursos.
*
Navegadores da web: Navegadores, como Extensões de Suporte ao Chrome, Firefox e Safari, que adicionam recursos como bloqueadores de anúncios, gerentes de senha e muito mais.
* Motores do jogo
: Os motores de jogo como Unity e Unreal Engine possuem extensos sistemas de plug -in, permitindo que os desenvolvedores adicionem novas ferramentas, recursos e ativos.
*
Sistemas de Gerenciamento de Conteúdo (CMS): CMS como WordPress, Drupal e Joomla permitem a instalação de plugins e temas para alterar sua funcionalidade e aparência.
*
Ambientes de desenvolvimento integrado (IDES): Ides como Visual Studio, Intellij e Eclipse geralmente possuem sistemas de plug -in para suportar várias linguagens de programação, depuradores e outras ferramentas.
*
software CAD: O software de design auxiliado por computador (CAD) geralmente possui complementos que estendem seus recursos.
O Thread Common é uma API bem definida (Application Programming Interface) que permite que os desenvolvedores externos interajam com o software principal e adicionem seu próprio código.