依賴注入框架在動態類型語言中幾乎沒有那么有用。例如,請參見Java中的表示Dependency Injection: Vitally important or totally irrelevant?依賴注入框架提供的靈活性是至關重要的,而在Python中,這通常會導致不必要的復雜性。
python與其他編程語言對比、這并不意味著原則是錯誤的。請參閱以下示例如何使用簡單的習慣用法實現類之間的松散耦合:# A concrete class implementing the greeting provider interface
class EnglishGreetingProvider(object):
python語言和java語言有什么區別。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()
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态