dicon,python的简单di容器注入liblary。

dicon的Python项目详细描述


dicon,python的简单di容器注入库。

--


dicon是一个简单的“di容器注入”库。

\faq

-q.“dicon”是依赖注入库吗?
-a.不,它不支持依赖注入。它支持DI容器注入和服务(单实例)定位器。

不修改类型。
-`dicon.dicontainer`提供类解析器和单例定位。

对类型没有修改


``python
import dicon


a类:
pass


di_container=dicon.dicontainer()
di_container.register[a]()
di_container.freeze()



;解析类。
class_a=di_container.resolve[a]
>a=class_a()


.dicon.dicon。dicontainer不修改类型类型,不修改类型类型类型类型。icon.dicontainer不修改类型对象的。
断言类型(a)是一个
它只修改构造函数。(通常不会有问题。)
assert not(类a是a)嵌套的双容器注入




消息:
打印(消息,self._di_u容器)

@dicon.inject戋u di戋u容器(''u di戋u容器')
c类:
u di戋u容器=none戋这里我们得到了di container的实例。

def戋u init戋u(self):
self.戋b容器。解析[b]('b必须有dicontainer:')


di戋u容器=dicon.di container()
di_container.register[b]()
di_container.register[c]()
di_container.freeze()


di_container.resolve[c]()
;'将打印b必须有diconcontainer:…'
`````



```````


<
<

<

<

1.`@dicon.inject di_container“修改给定类的”init“以使”init“可以将”dicontainer作为参数。
2.'DeNoNosier-Reals'由'FooStudio.Bea',
BR/>将其本身与该参数联系起来。
BR/>更多细节,参见[测试](测试)。
BR/>其他现有解决方案
BR/>依赖注入-BR/> -有很多DI库:例如[注入器](http://GITHUB.CO/ALCETMAS/注入器),[项目](https://github.com/google/pinject)。
-imho,di对于python来说太复杂了。
-著名的liblaries太复杂,不清楚对程序的影响。
-似乎没有人支持嵌套注入。
-服务定位器
-[有线](https://github.com/mmerickel/wired)
-我个人觉得它太复杂了。
-[工厂](https://github.com/jammycakes/factoryfactory)
-它不支持多个服务定位器。

我在api中借用了[microresolver]的设计(https://github.com/neuecc/microresolver)。



欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使图像以正确的速度在屏幕上移动,以适应所有显示   内存Java分配:从预先存在/分配的池中分配对象   java这种书写方式?   Java正则表达式查找字符串的开头   java是否可以创建一个类来处理安卓中的所有日志代码(例如log.d(TAG,message))   如何使用Selenium和java单击WebTable任意页面上的WebElement   java解析字符串中的文件名   java刷新JTree内容   java如何覆盖RequestMappingHandler   爪哇数石头、布、剪刀赢了多少   struts中的java无效令牌   swing JTree,优化算法,Java   java Tomcat和SSL:密钥库格式无效