我在写一个费用跟踪程序。目前,我有三个类别Python类设计
Lineitem存储单个交易的属性,并具有格式化输出(收款人,金额日期)等事务的方法。每个lineitem是一个交易。
帐户是了LineItem的集合,有方法来添加一个订单项,列出它了LineItem,确定其所有了LineItem的价值等
杂志是帐户的集合,有方法来添加一个新的帐户,列出帐户,格式化帐户列表等。
1)这是否看起来是一种明智的组织类的方式?
2)我添加了一个方法,只查看运行时指定的start_date和end_date之间的事务。最好的方法可能是在某处存储start_date和end_date,然后修改Account以更改某些方法以接收start_date和end_date参数,然后在总计或列出其行时间时检查lineitem日期。我应该考虑其他方法吗?
编辑:帐户中的方法来实现日期检查。 self.lineitems是一个lineitems列表。 start_date和end_date被设置和运行时,并且可能不会被设置或者可以被设置多次。
def get_lineitems(self, start_date, end_date):
if start_date and end_date:
for lineitem in self.lineitems:
if start_date <= lineitem.date <= end_date:
yield lineitem
else:
for lineitem in self.lineitems:
yield lineitem
你如何坚持数据?你在使用某种ORM吗? –
我坚持数据,目前使用泡菜。我知道咸菜有问题,但我需要非常轻量级的东西,并且不担心安全问题。 – foosion
为什么在这个问题上接近投票? – foosion