Wie vergleicht Spring für Python mit Spring für Java?

8

Ich bin ein begeisterter Fan des Spring-Frameworks für Java (von Rod Johnson). Ich lerne Python und war gespannt auf Spring for Python. Ich wäre daran interessiert, die Ansichten der Gemeinschaft zum Vergleich zu hören diese zwei Aromen von Frühling. Wie gut passt es Pythons Paradigmen etc.

    
Sathya 02.06.2009, 16:39
quelle

3 Antworten

12

OFFENBARUNG: Ich bin der Projektleiter für Spring Python, daher kann man meine Meinung als voreingenommen betrachten.

Ich finde, dass einige der von Spring Python bereitgestellten Optionen nützlich sind, einschließlich: aspektorientierte Programmierung , Abhängigkeitsinjektion, Remoting, Sicherheit und einfacher Datenbankzugriff .

Aspektorientierte Programmierung ist, wie man sagt, einfacher mit Python als Java zu implementieren. Aber Spring Python macht es einfach, vorhandenen Python-Modulen hinzuzufügen, ohne ihren Quellcode zu bearbeiten. Die anderen Lösungen erfordern Meta-Programmierung oder Änderung des ursprünglichen Quellcodes. Ich hatte bereits eine Person, die unsere Foren besucht und gefragt hat, wie man einen Interceptor zu einer PyGame-Anwendung hinzufügen kann, damit er unauffällig etwas Code "antippen" kann.

Viele Leute nehmen schnell an, dass "dependency injection" oder "IoC" augenblicklich "XML-Konfigurationsdateien" bedeutet . Nicht der Fall. Während wir eine XML-Konfiguration unterstützen, springen Sie einfach direkt in die Verwendung von Python-Dekoratoren.

Ich kenne bereits eine Firma, die Spring Python als Schlüsselelement ihres Systems verwendet. Sie sind daran interessiert, Verbesserungen vorzunehmen, neue Funktionen hinzuzufügen und sie generell als Teil ihrer Lösung zu verwenden. Sie haben auch damit experimentiert, es innerhalb von jython laufen zu lassen, falls das Ihr Interesse weckt.

Am Ende des Tages schlage ich vor, alle Funktionen zu prüfen und zu prüfen, ob einige von ihnen Ihren Bedürfnissen entsprechen. Ob es sich dabei um unnötige Komplexität oder um Wertsteigerung handelt, kann nur von Ihnen bestimmt werden. Sie müssen nicht alles verwenden; nur was du brauchst. Um mehr darüber zu erfahren, was verfügbar ist, lade ich Sie ein, Einführung in Spring Python zu lesen, dass ich auf der SpringOne Americas 2008 Konferenz vorgestellt.

    
gregturn 03.06.2009, 16:54
quelle
22

Dependency-Injection-Frameworks sind in einer dynamisch typisierten Sprache nicht annähernd so nützlich. Siehe zum Beispiel die Präsentation Dependency Injection: Lebenswichtig wichtig oder völlig irrelevant? In Java die Flexibilität, die von einem Injection-Injection-Framework bereitgestellt wird ist wichtig, während es in Python normalerweise zu unnötiger Komplexität führt.

Dies bedeutet nicht, dass die Prinzipien falsch sind. In diesem Beispiel erfahren Sie, wie Sie mithilfe von einfachen Idiomen eine lose Kopplung zwischen Klassen erreichen können:

%Vor%     
Ants Aasma 02.06.2009 17:26
quelle
0

Gute Sachen. Ich habe Spring Java, Spring Dot Net und jetzt mit Spring Python verwendet. Python war schon immer ziemlich einfach für Programmierer zu verwenden; Ich denke, vor allem, weil es einfach zu schreiben ist. Ich fand Spring Dot Net etwas verwirrend, aber Spring Java und Python scheinen ähnlich zu sein. Ich bin sicher, dass sie ihre Unterschiede haben, aber bis jetzt bin ich zumindest nicht so verwirrt mit der Python-Implementierung von Spring.

    
Khan 08.05.2012 14:04
quelle

Tags und Links