There are two parts to the plug-in architecture: a core system and plug-in modules. The fundamental goal of this architecture is to allow users to add new features to the core program as plugins, allowing for extensibility, flexibility, and isolation of application components and custom processing logic.