10.3 我的心愿(心愿清单)
我的心愿的代码可以说是我的礼物的镜像代码,只是改下名字。
但是考虑view_models,gift和wish的view_model 可以合并成一个MyTrade。实际上Trade应该是gift和wish的基类,在我们这里他们之间没有行为差异,之间用一个即可,如果他们有了行为差异,就应该分别继承Trade实现自己的业务逻辑
class MyTrade:
def __init__(self, trades_of_mine, trades_count_list):
self.trades = []
self.__trades_of_mine = trades_of_mine
self.__trades_count_list = trades_count_list
self.trades = self.__parse()
def __parse(self):
temp_trades = []
for trade in self.__trades_of_mine:
my_trade = self.__matching(trade)
temp_trades.append(my_trade)
return temp_trades
def __matching(self, trade):
count = 0
for trade_count in self.__trades_count_list:
if trade.isbn == trade_count['isbn']:
count = trade_count['count']
r = {
'wishes_count': count,
'book': BookViewModel(trade.book),
'id': trade.id
}
return r
Last updated
Was this helpful?