KICK THE DP

KICK THE CAN CREWでデザインパターンを攻略するブログ

Ch.23 KICK THE INTERPRETER

【目標】

Interpreterパターンを使って、"SWING TOGETHER マイナス W"を求めてみよう

【クラス図】

f:id:mikeera2:20160928215259p:plain

【実装】

<IExpressionインターフェース:AbstractExpression>

f:id:mikeera2:20160928221525p:plain

≪WordExpressionクラス:TerminalExpression≫

f:id:mikeera2:20160928222228p:plain

f:id:mikeera2:20160928222156p:plain

≪MinusExpressionクラス:TerminalExpression≫

f:id:mikeera2:20160928222519p:plain

≪Parserクラス:Context≫

f:id:mikeera2:20160928223150p:plain

f:id:mikeera2:20160928223234p:plain

[Mainクラス:Client]

f:id:mikeera2:20160928223337p:plain

【出力結果】

f:id:mikeera2:20160928223428p:plain

【メモ】

・この企画のクライマックスにふさわしい地味さ加減がすばらしい

・NonterminalExpression?何それ。

XMLのパーサーとかにも使えるかなぁ