この記事は、ある程度以上の規模のGUI開発において、React Hooks以後の宣言的UIにより、大規模開発に用いられる設計論に完全に対応できるようになり「ビジネスロジックの変更や追加」に対応するコストを低く保つこと(技術的負債の抑制)ができるようになったことを解説するものです。 技術的負債の抑制には、技術的負債の原因となりがちな「広範囲の密結合」と「適切な疎結合を保つ仕組みの欠如」が欠かせません。それをカバーするのが、大規模開発をクリーンに行える設計論(ここでは「現代的な設計論」とよぶもの)です。クリーンアーキテクチャなんかでGUIによく適用されるHumble Object Patternのようにプレゼンテーションとビューを分離する必然性が無くなるでしょう。 ポイントは ある程度以上の規模で開発するなら設計論をうまく使い設計しないと、技術的負債を抱え込む(ビジネスロジックの変更や追加に対
![宣言的UIはReact Hooksで完成に至り、現代的設計論が必須の時代になる - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/afe7c838bfb6761001fb509501f55ef9950c74eb/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUU1JUFFJUEzJUU4JUE4JTgwJUU3JTlBJTg0VUklRTMlODElQUZSZWFjdCUyMEhvb2tzJUUzJTgxJUE3JUU1JUFFJThDJUU2JTg4JTkwJUUzJTgxJUFCJUU4JTg3JUIzJUUzJTgyJThBJUUzJTgwJTgxJUU3JThGJUJFJUU0JUJCJUEzJUU3JTlBJTg0JUU4JUE4JUFEJUU4JUE4JTg4JUU4JUFCJTk2JUUzJTgxJThDJUU1JUJGJTg1JUU5JUEwJTg4JUUzJTgxJUFFJUU2JTk5JTgyJUU0JUJCJUEzJUUzJTgxJUFCJUUzJTgxJUFBJUUzJTgyJThCJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz1iYzEzMTFmNjE0NDBiMmZlMzUxOGFjM2Y4ZmJmMTRlOA%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBlcnVraXRpJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1jNTNiMDgxMWM0ZWEzZWFmYjU1ZTA1MWM2MTk2YmJlMQ%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3Dcd2177802b10dd8ad8457d0db28bfa6a)