##language:zh #pragma section-numbers off ##含有章节索引导航的 ZPyUG 文章通用模板 <> ## 默许导航,请保留 <> ##startInc = 有冇类似于spring的框架? = == 问题 == {{{ paul reply-to python-cn@googlegroups.com to python-cn@googlegroups.com date Sun, May 25, 2008 at 10:34 AM subject [CPyUG:52386] python 有没有类似于spring的框架 }}} 如题,最近写了一些python程序,感觉如果模块比较多,他们之间互相引用会导致耦合度会增加,维护起来感觉不太爽,想问问python有没有类似于java的spring这样的框架! -- Boern Parx == 回答 == {{{ 沈崴 reply-to python-cn@googlegroups.com to python-cn`CPyUG`华蟒用户组 date Sun, May 25, 2008 at 10:44 AM }}} 有。 == 手工 == {{{ junyi sun reply-to python-cn@googlegroups.com to python-cn@googlegroups.com date Sun, May 25, 2008 at 1:44 PM }}} 手动啊,不需要applicationContext.xml这种配置文件了,写一个py把所有模块组装起来就行了,我认为DI只是一种思想,在python里面实现起来反而更简单。 比如: {{{#!python class ServiceA(object): def __init__(self,dao): self.dao = dao def foobar(self,x): self.dao.insert(x) #不需要定义接口,动态语言保证了这在语法上是可以通过的 class UserDAO(object): def __init__(self,conn): self.conn = conn def insert(self,x): self.conn.executeSql("insert into user(..) values (...)" % (x,)) if __name__ == "__main__": conn = DBConnection(conf) dao = UserDAO(conn) service = ServiceA(dao) #上面这几行就完成了Spring的DI功能,反而比Java简单 service.foobar("i love python") }}} ##endInc ---- '''反馈''' 创建 by -- ZoomQuiet [<>]