


Wie kann ich die Geschäftslogik und die Nicht-Business-Logik in der hierarchischen Architektur in der Back-End-Entwicklung korrekt teilen?
Hierarchische Architektur Back-End
In der Back-End-Entwicklung ist eine geschichtete Architektur (z. B. Controller, Service und DAO-Schichten) von entscheidender Bedeutung. Obwohl das Hierarchieprinzip klar ist, sind in der Praxis, insbesondere die Grenzen zwischen der Serviceschicht und der DAO -Schicht sowie der logischen Teilung nach der Einführung der Managerschicht, oft verwirrend. In diesem Artikel wird untersucht, wie wir zwischen Geschäftslogik und Nicht-Business-Logik effektiv unterscheiden können.
Definition zwischen Geschäftslogik und Nicht-Geschäft-Logik
Die Geschäftslogik bezieht sich direkt auf geschäftliche Anforderungen, die Benutzer wahrnehmen können. Während Nicht-Business-Logik eine zugrunde liegende Operation ist und nichts mit Geschäftsprozessen zu tun hat, wie z. B. Datenbankbetriebsdetails oder Kennwortverschlüsselung.
Hier sind einige Beispiele für die Logik der Nicht-Business:
-
Datenbankbetriebsdetails:
UserManager.delete()
undDepartmentManager.delete()
können Daten in Assoziations -Tabellen (z. B.userdeptmodel
) gleichzeitig löschen. Dies ist eine Logik ohne Geschäft, da sie nur Datenbankoperationen umfasst, nicht um Geschäftsprozesse selbst. Ohne die Manager -Ebene kann die DAO -Ebene auch solche Vorgänge bewältigen, solange sie nichts mit dem Geschäft zu tun hat.Klasse UserManager: def delete (self): userdao.delete () userdeptdao.delete () Klassenabteilungsinstitut: def delete (self): Abteilungdao.delete () userdeptdao.delete ()
Nach dem Login kopieren -
Kennwortverschlüsselung: Benutzer müssen die Details des Kennwortspeichers nicht kennen, und der Salzvorgang kann in der DAO- oder Manager -Ebene platziert werden.
Klasse Userdao: Def make_password (self, passwd): Return Salt (Passwd) # Angenommen, die Salzfunktion wird zum Hinzufügen von Salz zum Passwort def Save (Selbst) verwendet: passwd = self.make_password (Passwd) self.passwd = passwd Super (). Save () #Suppose Super (). Save () ist eine Datenbank -Speichermethode
Nach dem Login kopieren DAO -Layer -Methode Benennung: Ob ein Methodenname wie
get_super_user
geeignet ist, hängt davon ab, ob es sich um eine Geschäftslogik handelt. Wennsuper
nicht geschäftsbedingt ist, kann es verwendet werden. Andernfalls sollte es auf der Servicestufe behandelt werden.HTTP-Anforderungskapselung: Die Backend-abhängige Kapselung kann in der DAO-Ebene anstelle der Serviceschicht platziert werden.
Implementieren Sie Funktionen ähnlich dem Django -Filter in Python
In Django/Flask ist die Datenfilterung relativ einfach. In der dreischichtigen Architektur von Python muss jedoch überlegen, wie die Anforderungen Parameter in der DAO-Schicht verarbeitet werden. Wenn es kein Abhängigkeitsinjektionsgerüst wie Frühling gibt, müssen die Parameter manuell übergeben werden. In Java bieten ORM -Frameworks wie Hibernate leistungsstarke Datenfilter- und Abfragefunktionen.
Datenentitäten und hierarchische Architektur
Datenentitäten werden für die Datenpersistenz verwendet. In einer dreischichtigen Architektur entsprechen der Controller-, Service- und DAO-Schichten nicht nacheinander der einzigen. Die Serviceschicht kann mehrere DAOs anrufen, um einen Geschäftsbetrieb abzuschließen, und ein DAO kann auch von mehreren Diensten aufgerufen werden.
Kurz gesagt, die korrekte Unterscheidung der Geschäftslogik von der Nicht-Business-Logik ist der Schlüssel zur Back-End-Entwicklung, und eine angemessene hierarchische Architektur kann die Lesbarkeit und Wartbarkeit der Code verbessern.
Das obige ist der detaillierte Inhalt vonWie kann ich die Geschäftslogik und die Nicht-Business-Logik in der hierarchischen Architektur in der Back-End-Entwicklung korrekt teilen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

PHP ist hauptsächlich prozedurale Programmierung, unterstützt aber auch die objektorientierte Programmierung (OOP). Python unterstützt eine Vielzahl von Paradigmen, einschließlich OOP, funktionaler und prozeduraler Programmierung. PHP ist für die Webentwicklung geeignet, und Python eignet sich für eine Vielzahl von Anwendungen wie Datenanalyse und maschinelles Lernen.

PHP eignet sich für Webentwicklung und schnelles Prototyping, und Python eignet sich für Datenwissenschaft und maschinelles Lernen. 1.PHP wird für die dynamische Webentwicklung verwendet, mit einfacher Syntax und für schnelle Entwicklung geeignet. 2. Python hat eine kurze Syntax, ist für mehrere Felder geeignet und ein starkes Bibliotheksökosystem.

Python eignet sich besser für Anfänger mit einer reibungslosen Lernkurve und einer kurzen Syntax. JavaScript ist für die Front-End-Entwicklung mit einer steilen Lernkurve und einer flexiblen Syntax geeignet. 1. Python-Syntax ist intuitiv und für die Entwicklung von Datenwissenschaften und Back-End-Entwicklung geeignet. 2. JavaScript ist flexibel und in Front-End- und serverseitiger Programmierung weit verbreitet.

PHP entstand 1994 und wurde von Rasmuslerdorf entwickelt. Es wurde ursprünglich verwendet, um Website-Besucher zu verfolgen und sich nach und nach zu einer serverseitigen Skriptsprache entwickelt und in der Webentwicklung häufig verwendet. Python wurde Ende der 1980er Jahre von Guidovan Rossum entwickelt und erstmals 1991 veröffentlicht. Es betont die Lesbarkeit und Einfachheit der Code und ist für wissenschaftliche Computer, Datenanalysen und andere Bereiche geeignet.

VS -Code kann zum Schreiben von Python verwendet werden und bietet viele Funktionen, die es zu einem idealen Werkzeug für die Entwicklung von Python -Anwendungen machen. Sie ermöglichen es Benutzern: Installation von Python -Erweiterungen, um Funktionen wie Code -Abschluss, Syntax -Hervorhebung und Debugging zu erhalten. Verwenden Sie den Debugger, um Code Schritt für Schritt zu verfolgen, Fehler zu finden und zu beheben. Integrieren Sie Git für die Versionskontrolle. Verwenden Sie Tools für die Codeformatierung, um die Codekonsistenz aufrechtzuerhalten. Verwenden Sie das Lining -Tool, um potenzielle Probleme im Voraus zu erkennen.

Bei Verwendung von MyBatis-Plus oder anderen ORM-Frameworks für Datenbankvorgänge müssen häufig Abfragebedingungen basierend auf dem Attributnamen der Entitätsklasse erstellt werden. Wenn Sie jedes Mal manuell ...

Das Ausführen von Python-Code in Notepad erfordert, dass das ausführbare Python-ausführbare Datum und das NPPEXEC-Plug-In installiert werden. Konfigurieren Sie nach dem Installieren von Python und dem Hinzufügen des Pfades den Befehl "Python" und den Parameter "{current_directory} {file_name}" im NPPExec-Plug-In, um Python-Code über den Shortcut-Taste "F6" in Notoza auszuführen.

VS -Code -Erweiterungen stellen böswillige Risiken dar, wie das Verstecken von böswilligem Code, das Ausbeutetieren von Schwachstellen und das Masturbieren als legitime Erweiterungen. Zu den Methoden zur Identifizierung böswilliger Erweiterungen gehören: Überprüfung von Verlegern, Lesen von Kommentaren, Überprüfung von Code und Installation mit Vorsicht. Zu den Sicherheitsmaßnahmen gehören auch: Sicherheitsbewusstsein, gute Gewohnheiten, regelmäßige Updates und Antivirensoftware.
