はじめに
本記事では「なぜクリーンアーキテクチャにするのか?」という目的だけを簡単に解説します。
時間がなかったので具体的なコードの書き方には触れず、参考資料の紹介にとどめます。
クリーンアーキテクチャの目的
クリーンアーキテクチャの目的は、本番システムを守りながら素早く変更し続けることです。
本番システムを守りながら素早く変更し続ける
ソフトウェアは作って終わりではありません。リリース後も次のような理由で改修が求められます。
- ユーザー増大に伴うパフォーマンス改善
- 競合他社に差をつけるための新機能の追加
- ソシャゲにおける新しい遊びやイベントの追加
ただ、すでに本番稼働しているコードの変更は、慎重に行う必要があります。
影響範囲の調査、コード修正、リグレッションテスト。とにかくやることが多いです。
素早く変更するには、本番稼働しているコードには一切触らず、新しいコードを追加するだけで安全に機能を変えられることが重要です。
そして、それを実現するのがクリーンアーキテクチャです。
本番稼働しているコードに触らないので、影響範囲の調査とリグレッションテストが不要になり、変更にかかる時間を大幅に減らすことができます。
よかったですね。今後は定時で帰れますよ。
どうやってクリーンアーキテクチャなコードを書くの?
クリーンアーキテクチャなコードは「SOLID原則」というものに従うことで書けます。
5つの原則の頭文字を取って、いい感じの名前を付けたものです。
ちなみに、この記事では「O(オープン・クローズドの原則)」の話しかしてません。
私自身は、まずは書籍でしっかり「SOLID原則」の理論を学んだあと、GitHubでスター数の多いリポジトリを参考にしたり、PHPerKaigiの解説動画を見たりして感覚を掴んでいきました。(2027年のPHPerはアツいことになりそうですね)
ということで、私が実際にインプットとして活用した動画や書籍の一部を参考資料にまとめます。
参考資料
どれも、ある程度ソフトウェア開発の経験があれば、サクッと理解できる内容です。
そのへんの簡単解説系WEB記事の方が読みづらく、難しいと思います。
(この記事のこと!?)
YouTube動画
-
「SOLIDの原則ってどんなふうに使うの?オープン・クローズドの原則編 拡大版」 後藤 秀宣
「で、どうやってコード書くの?」と思った人は、このPHPerKaigiの動画を見ればいいと思います。
書籍
-
Clean Architecture 達人に学ぶソフトウェアの構造と設計
SOLID原則、クリーンアーキテクチャの産みの親であるロバート・C・マーティンの本。
入門にもって来い。(今知ったけど2026/7/10に第2版発売されてる) -
ドメイン駆動設計入門 ボトムアップでわかる!ドメイン駆動設計の基本
どうすればクリーンなコードを書けるか。その感覚を掴めます。 -
なぜ依存を注入するのか DIの原理・原則とパターン
「I(依存関係逆転の原則)」に特化した656ページもある本です。
いろんなフレームワークにあるDIコンテナ機能が何か、どう使うかが理解できます。 -
単体テストの考え方/使い方
タイトルからテストコードの本かと思われますが、設計の本です。
ビジネスロジックをドメイン層に固めろ!と書かれています。
雑記
初めてQiita記事を書いた。どうだろう、わかりやすく書けただろうか?
俺は長男だから時オカリメイクを我慢してQiita記事を書けたけど、次男だったら我慢できなかった。