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.