我需要處理一些在大多數情況下不需要寫入磁盤的數據。我正在使用SQLAlchemy來處理數據庫操作。這些數據來自json字符串。例如,SQLAlchemy類會比普通類慢嗎?
from sqlalchemy import String, Column
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class Class1(Base):
__tablename__ = 'table'
data = Column(String)
#and some other data members
@staticmethod
def parse(json_):
#parse the json and return a list of Class1 instances
class Class2():
__init__(self, data):
self.data = data
#and some other data members
@staticmethod
def parse(json_):
#parse the json and return a list of Class2 instances
基本上,這兩個類是相同的,除了Class1可以處理數據庫和Class2不能。有兩個類之間的性能差異時
- 創建一個從json的情況下,
- 正常操作,例如讀取一個實例數據?
如果有性能差異,是否有一個很好的解決方案,可以消除它,同時保持DRY?
有一個類似的問題,但不同的問題。如果我有一個客戶端/服務器程序。服務器需要將數據寫入數據庫,而客戶端則不需要。我認爲在客戶端使用SQLAlchemy類並不是一個好主意,但在客戶端和服務器端編寫兩個不同的類並不是一個好主意。 – iuradz
如果您不想回答您的問題,請提出其他問題。而且我不確定是否假設追逐是關於什麼的。如果你的問題是「我可以寫一個複雜的元庫來生成普通和SQLAlchemy派生類」,答案是肯定的。但是,如果這是可行的,那麼從廣義上講,這又不是可以負責任的。客戶端中的用戶類可能服務於與服務器不同的目的 - 因此可能有必要編寫兩種不同的實現。它可能也不是 - 但同樣需要具體問題。推測在這裏沒有幫助。 – deets
而一個複雜的元庫引發維護和可接近性問題,這可能會引起最小化DRY的價值。 DRY和類似的經驗法則不是絕對的。瞭解他們需要什麼以及哪些地方沒有一般經驗,但也是您的實際問題。 – deets