linuxBean14.04(165)faif/python-patternsでデザインパターンの学習

ラベル: , ,
Pythonによるデザインパターンのよさそうな例を見つけたので、以前購入したデザインパターンの本を参考にしながらPythonでのデザインパターンを学習します。

前の関連記事:linuxBean14.04(164)LibreOfficeのC++の拡張機能の例をEclipseでデバッガにかける


デザインパターンの本を購入




購入したのはこの「Head Firstデザインパターン 頭とからだで覚えるデザインパターンの基本」です、、、もう2年ぐらい前に、、、

解説はわかりやすく読み終わった後はわかった気になったのですが、JavaのデザインパターンなのでPythonでの応用方法がいまいちわかりませんでした。

LibreOfficeのツールバーの例をみていて、これはObserverパターンだとようやく気が付いて、Pythonのデザインパタンの例を探しているとfaif/python-patterns: A collection of design patterns/idioms in Pythonを見つけました。

もう一度購入した本を参考にしながらこの例をやってみることにしました。

faif/python-patternsをEclipseプロジェクトにする


まずfaif/python-patterns: A collection of design patterns/idioms in Pythonを自分のGitHubアカウントにフォークしました。

あとはGit(17)EclipseでGitのチュートリアルビデオ:その1と同じようにしてEclipseのPyDevプロジェクトを作成します。


EclipseのGitパースペクティブでローカルにリポジトリをクローンしました。

ローカルのリポジトリはデフォルトディレクトリに入れました。

PyDevパースペクティブに切り替えて、File→New→PyDev Project。


Project nameをpython-patternsにしてあとは上図のように設定してFinishをクリック。
(2017.4.27追記。Interpreterは最初/usr/bin/python3にしていましたが、noseを使いたいのでAnacondaのものに変えました。)

これでできたpython-patternsプロジェクトをPyDev Package Explorerで右クリック→Team→Share Project。


Repositoryのリストでpython-patternsのローカルリポジトリを選択しました。

これでローカルリポジトリとpython-patternsプロジェクトが同期されたはずですが、プロジェクトフォルダ内にリポジトリの内容が反映されていません。

それはもともとのGitHubのリポジトリがEclipseプロジェクトを構造が違うからです。

これを変更します。


~/git/python-patternsフォルダをファイルマネージャーで開いて、.git、.gitignore、.travis.yml、README.md、python-patternsフォルダ以外のものをすべてpython-patternsフォルダ内のsrcフォルダに移動させました。


EclipseのPyDev Package Explorerでpython-patternsプロジェクトを右クリック→Refresh、でsrcフォルダ内に移動させたファイルが反映されました。

あとはコミットしてプッシュして、README.mdはリンクが切れたので書き換えました。

デザインパターンの名前がついたpyファイルをRunするとそのファイルの最後にかいてあるOUTPUTのコメントにある通りの結果が返ってきました。

しかし、フォルダ構成が変わっために.travis.ymlを修正しないとテストが通りません。

参考にしたサイト


faif/python-patterns: A collection of design patterns/idioms in Python
Pythonのデザインパターンの例集。

次の関連記事:linuxBean14.04(166)noseでテストをする

PR

0 件のコメント:

コメントを投稿