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如何在Struts 2中获取action标记的请求属性   java如何阻止jboss shrinkwrap远程解析依赖项?   java更改一个字符集。dbf文件   Java中的OOP:带方法链的类继承   Java中给定句子的字符串反转   Java版本控制和术语,1.6 vs 6.0 OpenJDK vs Sun   解决依赖关系后运行java Make Zip任务   java从Javascript调用jaxws web服务   java为什么几次之后数据库连接失败   使用Javasocket发送HTTP响应时出现问题   java当我想缩写两个单词时,我会出错   使用AndEngine重新触碰ONA中的java负坐标   java Google play服务游戏显着()失败错误'com。谷歌。安卓gms。常见的应用程序编程接口。ApiException:4:4'   java我怎样才能从计算机中读取数字。txt文件并将其放入2D数组中?   java intellij spring启动生成错误   java iBatis调用以Oracle类型为参数的存储过程