# Branchenspezifische Anpassungen - Viele kleine Plugins oder ein/zwei Große erstellen?

**URL:** https://forum.shopware.com/t/branchenspezifische-anpassungen-viele-kleine-plugins-oder-ein-zwei-grosse-erstellen/58309
**Category:** Programmierung
**Created:** [28. Februar 2019 um 08:35 UTC](https://forum.shopware.com/t/branchenspezifische-anpassungen-viele-kleine-plugins-oder-ein-zwei-grosse-erstellen/58309 "2019-02-28T08:35:10Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![langnickel](https://avatars.discourse-cdn.com/v4/letter/l/3ec8ea/32.png) [@langnickel](https://forum.shopware.com/u/langnickel)
#### Post date: [28. Februar 2019 um 08:35 UTC](https://forum.shopware.com/t/branchenspezifische-anpassungen-viele-kleine-plugins-oder-ein-zwei-grosse-erstellen/58309/1 "2019-02-28T08:35:10Z")

</div>

Ich stehe immer wieder vor der gleichen Frage, wenn ich neue Branchen/Geschäftsspezifische Features/Anpassungen in unseren Shops machen muss. Packe ich das Feature nun in eins der bestehenden Plugins oder mach ich ein neues Plugin welches nur das Feature behandelt? Mich interessiert bei dieser Diskussion was Ihr so für Vorteile/Nachteile der jeweiligen Methoden seht. Meine Vor-/Nachteile

“Ein-Plugin”

Meine Vorteile:

Eine Git Repo,  
Leichteres Testen, da Seiteneffekte eventuell früher auffallen  
Weniger Probleme mit Pluginpriorisierung/Templateüberschreibungen  
Bei Updates der Shopsoftware müssen die Änderungen “nur” bei einem Plugin gemacht werden

Meine Nachteile:

Updaten/Reinstall führt manchmal zu Probleme, vor Allem wenn eigene Emotion Widgets im Spiel sind  
Trotz Subscriber, Service, DIC etc. kann es schnell unübersichtlich werden  
Das Backend Plugin-Config-Formular wird langsam etwas lang 🙂  
&nbsp;

“Single Purpose Plugins”

Meine Vorteile:

Single Purpose, Features können leichter separat aktiviert/deaktiviert werden  
Ich finde, ich arbeite bei kleinen Plugins sauberer, da ich mehr auf Kompatibilität mit den anderen Plugins achte  
Jemand Fremdes kann leichter mit einer kleinen Codebase arbeiten und daran Entwickeln als mit einem großen Monster  
Ich fühle mich beim Updaten sicherer, da wenn etwas nicht klappt ich das Plugin deaktivieren kann und dadurch nur ein Feature verliere, nicht alle

Meine Nachteile:

Redundanter Boiler Code  
Testen artet manchmal in raten aus, in Kombination mit anderen Plugins  
Manchmal etwas schwierig zu entscheiden, welches Feature/Update nun in welches Plugin soll, vor allem wenn sich die Domänen überschneiden.  
Größeren Shop Updates (Beispiel 5.1, 5.2 neues Pluginsystem) sind etwas nervig 🙂  
Dependencies zwischen den Plugins zicken manchmal, selbst mit DIC/Services

---

<div class="post-metadata">

### Author: ![LuckySilence](https://avatars.discourse-cdn.com/v4/letter/l/13edae/32.png) [@LuckySilence](https://forum.shopware.com/u/LuckySilence)
#### Post date: [9. März 2019 um 11:05 UTC](https://forum.shopware.com/t/branchenspezifische-anpassungen-viele-kleine-plugins-oder-ein-zwei-grosse-erstellen/58309/2 "2019-03-09T11:05:21Z")

</div>

Ich würde es davon abhängig machen, wie die Plugin-Features thematisch zusammenhängen oder wie oft mehrere/alle Features gleichzeitig benötigt werden.

Bei separaten Plugins hast Du bzw. der genutzte Shop den Vorteil, dass eben auch nur das installiert wird, was benötigt wird.  
Möglicher unrelevanter Code, Fehler, potentielle Sicherheitslücken etc. werden so erst gar nicht installiert.

Sind mehrere Features aber stark voneinander abhängig bzw. thematisch zusammgehörig, würde es sich aus meiner Sicht anbieten, diese in einem Plugin zusammenzufassen.  
Dann muss man sich keine Gedanken darüber machen, ob man jetzt alle Plugins installiert hat, die man braucht.
