Goによるデザインパターン
Strategy設計の失敗 前回で、HTMLとテキストでレポートを出力するコードを書きました。その中でFormatter interfaceを定義し、その具象型としてPlainTextFormatter HTMLFormatterを定義するというStrategyパターンを採用しました。 しかし、気になる点が無い…
Goのinterfaceは「使う側」が定義するもの 前回Formatter interface、Formatterを使ってレポートを出力するReport struct、 Formatterの実装PlainTextFormatterとHTMLFormatterを定義しました。 type Formatter interface { OutputStart() OutputHead(text s…
例:レポートを出力するクラス。 レポートをHTMLで出力するstruct*1を作ったあなた。上司からプレーンテキストでも出力してくれと言われてしまいました。とりあえず、フォーマットを引数で指定するようにしたのですが・・・ *1:レポートの内容はフィクション…