KAEDE Hack blog

JavaScript 中心に ライブラリなどの使い方を解説する技術ブログ。

クリーンアーキテクチャ 考察

U00

レンガ、コンクリート、木材、スチール、ガラスからできた建物とは異なり、ソフトウェアはソフトウェアで作られている。大規模なソフトウェアは小規模なソフトウェアから作られ、小規模なソフトウェアはさらに小規模のソフトウェアコンポーネントから作られている。コーディングにおける「親亀の背中に子亀を乗せて、子亀の背中に孫亀乗せて

  • 建築によく例えられるけど崩れやすいと感じていたのはこういうことか…

アーキテクチャの一部であることは確かだが、四角形を全体像(アーキテクチャ)だと思ってしまうと、本当の全体像やアーキテクチャを見失ってしまう。ソフトウェアアーキテクチャは見えない。可視化されたものは選択肢であり、最初から与えられるものではない。

  • たしかに図形説明に当てはめて理解しようとすると違和感があるのはそういう事か

システム開発で典型的に直面する変更は、コストが高く、変更が難しく、数日や数週間で終わらないプロジェクト型の変更であってはいけない。

  • 変更可能性、これを高くするため、簡単に変更できるように React や Next は設計されているのを感じる

我々が興味を持っているのは、最もクリーンな道のりである。ソフトウェアがソフト(柔軟)であることを認め、それをシステムで最優先すべき財産として保持することを目指している。不完全な知識で運用する可能性があることも認めながら、そうするのが人間であり、人間はそれが得意であることを理解している。

  • Clean はどういう意味だろう。Soft はわかる。柔軟さを認め、柔軟さを価値として、不完全な人間が運用するのも想定しているソフトウェアだが…