959bf1dc3022023
http://nhiro.org.s3.amazonaws.com/d/c/dc4ea931ca9e65919ed72c40f73b49b5.jpg https://gyazo.com/dc4ea931ca9e65919ed72c40f73b49b5
(OCR text)
多重継承がうれしい例
Python標準ライブラリのSocketServer.py
class ForkingUDPServer (ForkingMixIn, UDPServer): pass
class ForkingTCPServer (ForkingMixln, TCPServer): pass
class ThreadingUDPServer(ThreadingMixln, UDPServer): pass
class ThreadingTCPServer(ThreadingMixln, TCPServer): pass
「インスタンス化しないクラス」を混ぜ込む(Mix-
in)ことで実装を再利用するBest Practice
RubyはこのBest Practiceを言語仕様で強制