Java için Bahar çerçevesinin (Rod Johnson) bir hayranıyım. Python'u öğreniyorum ve Python için Spring'i bulmaktan heyecan duydum. Topluluğun ilkbaharın bu iki aromasıyla karşılaştırılmasına ilişkin görüşlerini duymak isterim. Python'un paradigmalarına ne kadar iyi uyuyor?Spring for Python, Java for Spring ile karşılaştırıyor
cevap
BİLGİLENDİRME: ne kadar basit deyimleri kullanılarak sınıflar arasındaki gevşek bağlantı elde etmek için bu örneğe bakın.
Spring Python tarafından sağlanan seçeneklerin birçoğunun aşağıdakiler dahil olmak üzere faydalı olduğunu buluyorum: aspect oriented programming, dependency injection, remoting, security, and easy database access.
Boyut yönelimli programlama, dediği gibi, manşeti python ile java'dan daha kolay uygulamaktır. Ancak Spring Python, kaynak kodlarını düzenlemeden mevcut python modüllerine ekleyebiliyor. Diğer çözümler, meta-programlama veya orijinal kaynak kodunu değiştirmeyi gerektirir. Daha önce bir kullanıcı bir PyGame uygulamasına nasıl bir engelleyici ekleyeceğimizi soran forumlarımızı ziyaret etti, bu yüzden bazı kodları dikkatsizce "hafifçe" ekleyebilirdi.
Birçok kişi hızlıca assume "dependency injection" or "IoC" instantly means "XML configuration files". Durumda değil. Bir XML yapılandırmasını desteklerken, doğrudan python dekoratörlerini kullanarak sıçramak.
Yaylı bir sistem olan Spring Python'u kullanan bir şirketi zaten biliyorum. İyileştirmeler yapmak, yeni özellikler eklemek ve genellikle çözümlerinin bir parçası olarak kullanmakla ilgilenirler. Onlar da ilginizi çeken piques'ler için jython içinde çalıştırmayı denediler.
Günün sonunda, önerim tüm özellikleri incelemek ve bunlardan herhangi birinin ihtiyaçlarınızı karşılayıp karşılamadığını görmek. Bunun gereksiz karmaşıklık ya da sükunet değeri ekleyip eklemeyeceği sadece sizin tarafınızdan belirlenebilir. Her şeyi kullanmak zorunda değilsin; sadece ihtiyacın olan şey. Neler olduğu hakkında daha fazla bilgi almak için, SpringOne Americas 2008 konferansında sunduğum Introduction to Spring Python'u görüntülemeye davet ediyorum.
Bağımlılık enjeksiyon çerçeveleri, dinamik olarak yazılan bir dilde neredeyse yararlı değildir. Örnek olarak, sunum Dependency Injection: Vitally important or totally irrelevant? Java'da, bir bağımlılık enjeksiyon çerçevesi tarafından sağlanan esneklik hayati öneme sahiptir, Python'da ise genellikle gereksiz karmaşıklığa neden olur.
Bu, ilkelerin yanlış olduğu anlamına gelmez. Ben Bahar Python için proje kurşun değilim, bu yüzden Bence önyargılı düşünebiliriz:
# A concrete class implementing the greeting provider interface
class EnglishGreetingProvider(object):
def get_greeting(self, who):
return "Hello %s!" % who
# A class that takes a greeting provider factory as a parameter
class ConsoleGreeter(object):
def __init__(self, who, provider=EnglishGreetingProvider):
self.who = who
self.provider = provider()
def greet(self):
print(self.provider.get_greeting(self.who))
# Default wiring
greeter = ConsoleGreeter(who="World")
greeter.greet()
# Alternative implementation
class FrenchGreetingProvider(object):
def get_greeting(self, who):
return "Bonjour %s!" % who
greeter = ConsoleGreeter(who="World", provider=FrenchGreetingProvider)
greeter.greet()
6 yıl sonra ... Yuvadaki bağımlılıkları nasıl ele alırdınız? (B (c (d)))? Kurucuda başka bir parametre eklemeden bilinmeyen bağımlılık sayısını nasıl ele alırsınız? – dakt
İyi şeyler. Spring Java, Spring Dot Net'i kullandım ve şimdi Spring Python ile başlıyorum. Python programcılar için her zaman oldukça kolay olmuştur; Bence özellikle yazması kolay olduğu için. Spring Dot Net'i biraz kafa karıştırıcı buldum, ancak hem Spring Java hem de Python benzer görünüyor. Eminim onların farklılıkları vardır, ama şimdiye kadar hiç de Python'un Spring'in uygulanışıyla pek de karışık değilim.
- 1. JTidy veya Jsoup for Java
- 2. python - for döngüsüne sayaç ekleme
- 3. v-for
- 4. Spring
- 5. For-döngüler
- 6. Spring @
- 7. For döngüsü aşağıdaki eminim
- 8. Spring
- 9. Java For-Her Döngü: Sıralama sırası
- 10. Java için geliştirilmiş for döngüsünün sözdizimi nedir?
- 11. Neden csv.Reader için 'for' döngüsünü tekrarlayamıyorum? (Python)
- 12. Spring Mutable ile NoSuchMethodErrorValues
- 13. So3 library for Socket.io
- 14. npm install for altmodule
- 15. spring jpa application.properties useSSL
- 16. Spring Java Yapılandırma - Java tabanlı yapılandırma ile fasulye referanslarına
- 17. Jumper for Jersey'i kolayca kullanabilir
- 18. Facebook Connect for Flask
- 19. FOR XML FORMU
- 20. Scala println for döngüsünde
- 21. javascript "for (;;);" yapı
- 22. C# .net For() Step?
- 23. NullPointerException for AbstractButton.setEnabled (true)
- 24. Spring JavaMailSenderImpl SSL ile çalışmıyor
- 25. Spring HTTPMessageConverter
- 26. GCC 5.1, 'for parallel for' yapısındaki yapılandırmayı iptal ediyor
- 27. Boost :: Sign for for C++ Olayı'nı kullanarak tam örnek
- 28. For ... ifadesi Amaç-C
- 29. Vala for Android?
- 30. Google Wave for .Net
Yay Python'a Giriş bağlantısı kesildi. En son canlı yayına bağlantı isteğinde bulunun – gansub
https://www.slideshare.net/gturnquist/intro-to-spring-python – gregturn
Bu arada, bir kitap da var => https://www.packtpub.com/application -development/yay piton-11 – gregturn