このリンクは、私が過去20年間に使用したものを説明しようとしています。それは確かに有用であり、パラダイムとして数えられると思うので、私はそれについて言及します。それを使用するには、特定の方法で考える必要があるからです。
別の考え方として、問題を分析するときは、どのオブジェクトがあり、どのアクションが実行されるかを尋ねるのではなく、全体的な要件から始めて、何を言う必要があるかを尋ねます。
その中から、ドメイン固有言語(DSL)を選択または設計し、その言語で問題を述べます。
このリンクは、動的に変化するダイアログユーザーインターフェイスを記述するための特定の言語を説明しています。その実装は、特定の制御構造である差分実行に依存します。これにより、ソースコードが桁違いに削減され、コーディングエラーが発生する可能性が低くなります。これらの節約は、UIをより洗練されたものにするために費やすことができます。
他の種類の問題については、他の制御構造が適切ですが、適切に選択されたDSLを介して作業し、ソースコードをはるかに小さく、変更しやすく、エラーが発生しにくいという概念が一般的なアプローチです。
関数型プログラミングとOOPのパラダイムは、それらが最良の表現である問題のタイプを特定することによって最もよく評価されると思います。多くの場合、これらのパラダイムは単にバンドワゴンになり、対処する問題空間によって分類するのではなく、すべてを解決するものとして宣伝されます。