小编Ioa*_*ucu的帖子

从Maven存储库获取源JAR

有没有人知道你是否可以在Maven存储库中找到源JAR?

java maven mvn-repo

432
推荐指数
10
解决办法
21万
查看次数

从Django模型类中分离域类

所以我已经完成了我的OO分析和我正在构建的Web应用程序的设计,现在我正在实施.已经做出设计决策来使用Python和Web开发框架Django来实现系统.

我想开始实现一些需要持久性的域实体类.似乎Django会让我实现这些作为继承自Django模型类的类,以便使用Django ORM进行持久化.但是,这似乎是我的类实体和持久性机制之间过于强烈的耦合.如果在某个阶段我想抛弃Django并使用另一个Web开发框架,或者只是放弃Django的ORM替代方案,会发生什么?现在我必须从头开始重新编写我的域实体类.

因此,最好将我的域类实现为独立的Python类,将所有业务逻辑封装在这些类中,然后使用某种机制(设计模式,如bridge或adapter或???)将这些域类的持久存储委托给Django ORM,例如通过适当设置的Django模型类.

有没有人建议如何做到这一点?从我读过的所有内容看来,人们只是将它们的域类实现为从Django模型类继承的类,并在这个类中混合了业务逻辑.这对于下线更改,维护,可重用性等似乎不太好.

python django model

13
推荐指数
1
解决办法
2206
查看次数

是否值得在小函数中关闭文件?

说你有:

def my_func():
    fh = open(...)
    try:
        print fh.read()
    finally:
        fh.close()
Run Code Online (Sandbox Code Playgroud)

我的第一个问题是:是否值得使用try/finally(或with)语句?当函数终止时(通过垃圾收集),文件是否仍然关闭?

我在阅读了Martelli的"蟒蛇食谱"中的食谱之后看到了这一点

all_the_text = open('thefile.txt').read()
Run Code Online (Sandbox Code Playgroud)

附带注释:"当你这样做时,一旦读取操作完成,你就不再有文件对象的引用.实际上,Python会立即注意到缺少引用,并立即关闭文件."

我的功能示例几乎相同.你有一个参考,只是参考的寿命很短.

我的第二个问题是:马尔泰利的陈述中"立即"是什么意思?即使您根本没有引用,但是文件关闭是否仍然发生在垃圾收集时间?

python garbage-collection file

8
推荐指数
1
解决办法
255
查看次数

哪个shell命令可以找到提供某个完整虚拟包的所有包?

正如标题所示,我想获得一个提供某个虚拟包的所有包的列表.这样做的一种方法是编写一个解析所有输出的shell脚本

apt-cache search -f .*
Run Code Online (Sandbox Code Playgroud)

并输出在提供部分中具有虚拟包的所有包.这种方法的问题在于需要花费大量的时间来执行.我想应该有一个简单的命令,以有效的方式做到这一点,但我无法找到.

linux shell ubuntu package aptitude

6
推荐指数
1
解决办法
991
查看次数

标签 统计

python ×2

aptitude ×1

django ×1

file ×1

garbage-collection ×1

java ×1

linux ×1

maven ×1

model ×1

mvn-repo ×1

package ×1

shell ×1

ubuntu ×1