次のようなコードを見ました ( https://github.com/daydayfree/diggit/blob/master/model/model.pyから):
from database import Database
...
class Model(object):
@property
def db(self): return Database()
def insert(self, documents):
return self.db.insert(self.table, documents)
...
主な目的は、インスタンス@property
のメソッドへのアクセスを提供することですが、正しいですか?Database()
だから私はそれを次のように書き直すことができます:
from database import Database
...
class Model(object):
def __init__(self):
self.db = Database()
def insert(self, documents):
return self.db.insert(self.table, documents)
と
from database import Database
...
class Model(object):
def db(self):
return Database()
def insert(self, documents):
return self.db().insert(self.table, documents)
...
? そうでない場合、それらの違いは何ですか?