14章抽象的なモノ――抽象データ型Abstruct Things
制約
- より大きな問題は、問題領域に対して意味のある抽象的なモノ(abstract things)に分解される。
- それぞれの抽象的なモノは、それが最終的にどのような操作を行えるのかで説明される。
- 具体的なモノと抽象的なモノとは、何らかの方法で結合される。
- アプリケーションは、モノが何であるかではなく、抽象的に何を行うかによりモノを使用する。
プログラム
1 #!/usr/bin/env python 2 import abc, sys, re, operator, string 3 4 # 5 # 抽象的なモノ 6 # 7 class IDataStorage(metaclass=abc.ABCMeta): 8 """ ファイルの中身のモデル化 """ 9 10 @abc.abstractmethod 11 def words(self): 12 """ ファイル中の単語を返す """ 13 pass 14 15 class IStopWordFilter(metaclass=abc.ABCMeta): 16 """ ストップワードフィルタのモデル化 """ 17 18 @abc.abstractmethod 19 def is_stop_word(self, word): 20 """ 与えられた単語がストップワードに該当するか確認する """ 21 pass
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.