Nachdem ich mehr als vier Jahre in Laravel eingetaucht war, habe ich mich mit der Architektur MVC (Modell-View-Controller) sehr vertraut gemacht. Seine Einfachheit und Struktur machen es zu einer Freude, mit ihnen zu arbeiten, und Laravels sorgfältig organisierte Ordner helfen den Entwicklern, auf dem richtigen Weg zu bleiben. Sie wissen immer, wo Sie Ihren Code platzieren können, und welche umfangreichen integrierten Tools-Database-Verbindungen, Redis, Warteschlangen, Migrationen, ORM und vieles mehr-machen Sie nahtlos ein Setup. Mit nur ein paar Änderungen an Ihrer Umgebung ist Ihre App bereit zu gehen.
Für mich bleibt der MVC -Ansatz von Laravel einer der robustesten. Die model definiert Ihre Daten, die view bestimmt, was Benutzer sehen, und der Controller verwaltet Ihre Geschäftslogik. Es ist einfach und doch strukturiert, und Laravel liefert dieses Setup standardmäßig und macht es zu einem hervorragenden Rahmen für die Entwicklung.
Aber als meine Karriere fortgeschritten ist und ich in Branchen und Unternehmen gearbeitet habe, wurde mir klar, dass der MVC -Ansatz von Laravel nicht immer ausreichte, insbesondere für komplexe Anwendungen.
mvc strahlt für einfache Anwendungen, kann aber zu kurz kommen, wenn die Logik komplizierter wird. Zum Beispiel wird bei der Verwendung von Laravel für APIs die View -Schicht oft unbenutzt. In der Zwischenzeit kann es schnell zu aufgeblähten Dateien führen, die schwer zu pflegen sind.
Um dies anzusprechen, habe ich die MVC -Struktur von Laravel erweitert, indem ich service und repository Ebenen einführte, einen Fluss wie folgt erstellen:
Controller → Service → Repository → modell
Dieser geschichtete Ansatz macht den Code warten und skalierbarer. Im Laufe der Zeit war ich so an diese Struktur gewöhnt, dass es sich natürlich anfühlte, sie in anderen Projekten zu übernehmen.
Als ich anfing, mit Go (Golang) zu arbeiten, fühlte es sich an, als würde ich in das Uncharted Territory eintreten. Go ist ganz anders als PHP und es fehlt eine inhärente Ordnerstruktur. Es ist auch keine objektorientierte Sprache, daher konnte ich nicht einfach das replizieren, was ich von Laravel wusste.
Nach einigen Versuch und Irrtum habe ich mich entschlossen, mich bei dem zu halten, mit dem ich vertraut war: Das csrm concept (Controller, Service, Repository, Modell). Ich habe diese Struktur angepasst, obwohl sie kreatives Denken erforderte. Darüber hinaus habe ich Frameworks untersucht, die die Entwicklung vereinfachen könnten. Ich habe gin und fiber versucht, letztendlich Fiber für seine Geschwindigkeit, moderne Merkmale und aktive Community auszuwählen.
Nach mehr als zwei Jahren der Arbeit mit Go und Fiber habe ich beschlossen, eine Kesselplatte zu erstellen, um die API -Entwicklung zu optimieren. Dies war nicht nur für mich - ich wollte anderen auch helfen, ihre Projekte schnell einzurichten.
Das Ergebnis: fiber api kesselplate .
Diese Boilerplate ist speziell für APIs vorhanden, sodass Funktionen wie Ansichtsrendern oder Vorlagenmotoren nicht enthalten sind. Die Ordnerstruktur lässt sich inspirieren aus:
Ich habe auch viele Ideen von Laravel geliehen, wie ORM, Datenbankverbindungen, Redis, Warteschlangen und Authentifizierung. Es ist zwar nicht so umfassend wie Laravel, aber es reicht mehr als ausreichend für den Aufbau allgemeiner APIs.
Hier ist das, was die Boilerplate derzeit anbietet:
Das Repository enthält auch Beispielcode und detailliert Readme , um Sie durch jeden Ordner und die Funktionen zu führen.
Während die Boilerplate bereits funktional ist, habe ich Pläne, sie weiter zu erweitern, indem ich Tools wie Migrationen, Ereignishörer und Befehle hinzufügt. Es ist ein sich entwickeltes Projekt, das mit seinen Benutzern wachsen soll.
Sie können die Boilerplate gerne erkunden und verwenden. Fühlen Sie sich frei, es anzupassen - überlegen Sie, ob Tools, die Sie mögen, oder entfernen Sie die, die Sie nicht benötigen. Wenn Sie Vorschläge oder Feature -Anfragen haben, erstellen Sie ein Problem oder senden Sie eine Pull -Anfrage.
schauen Sie sich die fiber api kesselplate an und nehmen Sie es für einen Spin. Ich hoffe, es hilft dabei, Ihre Go -API -Entwicklungsreise genauso zu vereinfachen wie für mich. Lass uns zusammen etwas Erstaunliches bauen!
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3