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