Форум сайта python.su
0
Помогите пожалуйста понять хорошо ли я следующим кодом иллюстрировал паттерн Adapter.
Я попытался через Adapter объединить два интерфейса, которые отличаются:
1. названием
2. форматом возвращаемого значения
Мне кажется, это как раз те два пункта, в работе с которыми может помочь описываемый паттерн. не забыл ли я что-нибудь важное? Можно ли пример улучшить и приспособить для более сложной задачи, которая решается в рамках этого adapter?
#!/usr/bin/env python3 import random class RandomNum: def getNum(self): return random.random() class RandomObj: def getObj(self): return {'num': random.random()} class Adapter: def __init__(self, adaptee): self.adaptee = adaptee def getNum(self): return self.adaptee.getObj()['num'] n = RandomNum() o = Adapter(RandomObj()) print(n.getNum()) print(o.getNum())
Офлайн
568
zlodiakусложнить можно было бы, например, так:
для более сложной задачи
Офлайн