2016-05-22 10 views
0

In meiner Web-Anwendung, ich frage mich, ob es richtig ist, Rollen Frühling Sicherheit der Erstellung mehrerer Subklassen stattdessen zu verwenden, lassen Sie uns das folgende Beispiel nehmen:Ist es korrekt, Spring-Sicherheitsrollen zu verwenden, anstatt mehrere Unterklassen zu erstellen?

Stattdessen 3 verschiedene Unterklassen mit, ich Ich habe darüber nachgedacht, nur eine Klasse anstelle von Person zu verwenden und mit Spring Security Roles zwischen ihnen zu unterscheiden, und bis jetzt habe ich kein Problem gehabt, da der einzige Unterschied zwischen meinen Klassen darin besteht, dass einige der Themen ein oder zwei zusätzliche Attribute haben In einigen Fällen sind diese Attribute daher null, was die Dienste und Seiten betrifft, auf die jeder zugreifen kann. Spring Security macht gute Arbeit. Ich frage mich, ob es der richtige Weg ist? und wenn ich irgendein Problem habe, wenn ich so arbeite? Wie soll ich das in UML darstellen?
Ich hoffe, ich war klar genug.
Danke

Hinweis: ich diese Frage, denn selbst wenn es funktioniert, ich habe es vor der „Jury“

+0

Ohne die Spring Security-Klasse zu sehen, wird es unmöglich sein, Ihre Frage zu beantworten. –

+0

Federsicherheitsklasse? es ist nur ein viel zu viele mit Rollen, die alle und mit einer Assoziationsklasse "UserRoles" – hereForLearing

+0

Warum wollen Sie nicht von Person Unterklasse? Was stimmt damit nicht? –

Antwort

-1

Gut zu verteidigen, wenn ihre Arbeits, groß. Aber wenn Sie eine Web-Anwendung in JAVA programmieren, ist es gut, das objektorientierte Konzept zu verwenden. Also was du tust oder denkst es ist falsch. Die meisten Frameworks in Java verwenden das MVC-Muster und wenn Sie OO nicht verwenden, werden Sie Probleme haben.

MVC/

Modell - Model repräsentiert ein Objekt oder JAVA POJO Daten trägt. Es kann auch Logik haben, um den Controller zu aktualisieren, wenn sich seine Daten ändern.

Anzeigen - Ansicht stellt die Visualisierung der Daten dar, die das Modell enthält.

Controller - Controller wirkt auf Modell und Ansicht. Er steuert den Datenfluss in das Modellobjekt und aktualisiert die Ansicht, wenn sich Daten ändern. Es hält Ansicht und Modell getrennt.

+0

Danke für deine Antwort, das ist was ich gerade mache, eigentlich benutze ich ein MVC Framework (Grals) alles ist in Ordnung, aber wie mache ich das OO Konzept zu brechen? – hereForLearing

+0

"Ich habe darüber nachgedacht, nur eine Klasse zu verwenden, die Person ist". Es ist falsch. Sie entfernen die Abstraktion und den Polymorphismus. 1) OOPs erleichtern die Entwicklung und Wartung, da es in der prozedurorientierten Programmiersprache nicht einfach ist, den Code zu verwalten, wenn der Code mit wachsender Projektgröße wächst. 2) OOPs bietet das Verbergen von Daten, während in der prozedurorientierten Programmiersprache auf globale Daten von überall zugegriffen werden kann. –

+0

Dies sind nur "Bohnen", keine Methoden außer Getter und Setter, was die Notwendigkeit dieser beiden Konzepte? – hereForLearing