15章ハリウッド――制御の反転Hollywood
制約
- 大きな問題は、何らかの抽象化(オブジェクト、モジュールなど)を用いてモノに分解される。
- モノが、何らかの動作のために直接呼び出されることはない。
- モノは別のモノがコールバックを登録できるようなインターフェイスを提供する。
- 必要となった時点で、登録した他のモノをコールバックする。
プログラム
1 #!/usr/bin/env python 2 import sys, re, operator, string 3 4 # 5 # 単語頻度のための「必要になったらこちらから呼び出す」フレームワーク 6 # 7 class WordFrequencyFramework: 8 _load_event_handlers = [] 9 _dowork_event_handlers = [] 10 _end_event_handlers = [] 11 12 def register_for_load_event(self, handler): 13 self._load_event_handlers.append(handler) 14 15 def register_for_dowork_event(self, handler): 16 self._dowork_event_handlers.append(handler) 17 18 def register_for_end_event(self, ...
Get プログラミング文体練習 ―Pythonで学ぶ40のプログラミングスタイル now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.