Le plugin peut aussi être la base d’une architecture logicielle modulaire comme c’est le cas pour la plate-forme Eclipse et les bundles OSGi.
Dans les architectures logicielles statiques, la structure mise en œuvre est définie avant le lancement du programme (par exemple, dans un fichier de configuration). À titre d’exemple, l’interpréteur du langage PHP peut charger des modules d’extensions (pour prendre en compte le format ZIP, pour permettre l’accès à une base MySQL, etc.) selon les besoins décrits dans le fichier d’initialisation (php.ini).
Dans les architectures véritablement dynamiques, c’est l’application qui va elle même recenser les plugins présents, bien souvent par examen de fichiers présents dans un répertoire dédié aux plugins. L’ajout et la suppression d’éléments dans le répertoire permet d’activer ou de désactiver les plugins correspondants. Certaines applications permettent le démarrage et l’arrêt d’un plugin alors qu’elles sont en fonctionnement. On parle alors de configuration à chaud ou hot-plug, essentiellement utilisée dans les serveurs pour gérer la tolérance aux pannes (système RAID). Ces changements peuvent être déclenchés par l’utilisateur ou à l’occasion d’un autre évènement au sein de l’application. Toutefois, ce type d’architecture devient vite complexe du fait des dépendances qui peuvent exister entre les plugins. Pour illustrer le concept d’architecture dynamique, on peut considérer les systèmes d’exploitation où les services systèmes sont comparables à des plugins ajoutés et retirés autour noyau. On retrouve également la notion de dépendances, par exemple au niveau du lien entre un service HTTP et un service TCP/IP.
Stand-alone
En musique, certains plug-ins peuvent aussi être utilisée comme un logiciel à part entière, on dit alors qu'il sont Stand-alone.
Pour leur utilisation en plugin le protocole de communication alors utilisé sera Rewire.