こつつみ

コツコツ積み上げる

「Clean Architectures in Python」を読んだ

クリーンアーキテクチャの書籍は読んでいたものの、実際にコードに落とし込めなかった。 なので、Pythonでのクリーンアーキテクチャ的な設計ってあるのかな?と検索していると、以下リンクの「Clean Architectures in Python」を見つけ無料で読めることを知った。

github.com

「Clean Architectures in Python」は2020年のEuroPythonで発表していたみたいです。

ep2020.europython.eu

目次

「Clean Architectures in Python」の目次を書いておく。

  • Introduction
  • About the book
  • Chapter1 : A day in the life of a clean system
  • Chapter2 : Components of a clean architecture
  • Chapter3 : A basic example
  • Chapter4 : Add a web application
  • Chapter5 : Error management
  • Chapter6 : Integration with a real external system postgres
  • Chapter7 : Integration with a real external system mongodb
  • Chapter8 : Run a production ready system

学んだこと

まず英語で書かれているので、Google翻訳を使いつつ読んでいった。

この本では、前半はCLIで物件情報を一覧表示するアプリを作り、 後半は前半で作ったものをもとにFlaskというフレームワークを用いて、WebAPIにしていきながらクリーンアーキテクチャが解説されている。 ビジネスロジックさえ作っていればCLIでもWebAPIでも簡単に変更できることや、 DBをpostgresからmongoDBに変更するなど変更容易性の観点や、エラーマネジメントの話はとても参考になる。

最初から最後までテスト駆動開発(TDD)で進められており、その点も非常に参考になる。

他にも、Pythondataclassやレスポンスの設計やユースケースについても知ることが出来た。

まとめ

クリーンアーキテクチャもそうだが、Pythonを始めたばかりの自分にとってはpythonでのテストの書き方、テスト駆動開発やDBへの接続などがとても参考になった。 全体を通して、今の自分にとっては知りたいことが具体例として書いてあり、すべてのページで学びがあった。

PythonでWeb開発に携わる人は、そんなに長くなく2, 3日くらいで読めたので、一度読んでみることをオススメする。