(Python2.7)
Adapter
元ネタ
- アダプタ Ruby 2.0.0 デザインパターン速攻習得[Adapter][Design Pattern] - 酒と泪とRubyとRailsと
- デザインパターン-Adapter CapmNetwork
Adapter.py
#!/usr/bin/env python # *-# -*- coding: utf-8 -*- class Adaptee(object): # 既存機能 def __init__(self, string): self.string = string def show_with_aster(self): print "*{string}*".format(string=self.string) class Target(object): # 実装したいクラス def __init__(self, obj): self.obj = obj def print_strong(self): return self.obj.print_strong() class Adapter(object): # 必要な機能に変換 def __init__(self, string): self.adaptee = Adaptee(string) def print_strong(self): return self.adaptee.show_with_aster() class Client(object): # Target を利用するクラス def execute(self, string): target = Target(Adapter(string)) target.print_strong() if __name__ == '__main__': client = Client() client.execute("Hello")