我有一个可以使用某些用户首选项启动的应用程序。为此,我使用ConfigParser
内置包中的类ConfigParser
。我派生了一个ConfigParser
实现__getitem__
and__setitem__
方法的子类,以便获取/设置一些首选项项,而不必每次都指定它们各自的部分、子部分和选项。
由于其中一些首选项(工作目录、日志记录级别...)对我的代码非常敏感,因此我想在每次修改其中一项时检查它们。为此,我目前考虑两种方法:
编写一个方法来检查我的偏好中的每一项,每次修改其中一项。非常简单但效率不高,因为每次更改一项时都会检查整个首选项。
为每个首选项项目(check_logger、check_working_directory、check_blabla ...)编写一个 check_item 方法,并且每次设置一个项目时,都会使用相应的检查器调用
getattr(self,'check_%s' % item)(item)
我倾向于认为第二种方法比第一种方法更好。
你会看到这些设计的替代品吗?
非常感谢您
埃里克