回答:
いいえ、それらは同じではありません。
パターンは、オブジェクト指向プログラミングの問題に対する一般的なソリューションです。(関数型プログラミングまたは宣言型プログラミングに関する類似の書籍は知りません。)このアイデアは、1995年にGang of Fourによって有名な「Design Patterns」の書籍で具体化されました。
アンドレが指摘するように、パターンはすべてのパラダイムで共通です。私は以前の声明を繰り返します。関数型プログラミングまたは宣言型プログラミングに関する類似の本はありませんが、アンドレは、彼が以下に提供したリンクで私の無知を修復しました。(ありがとう、アンドレ)
原則は特定の言語やパラダイムに関するものではなく、より一般的なものです。「自分自身を繰り返さない」-DRY原則-はすべてのプログラミングに当てはまります。
パターンは、原則よりも高度なものです。パターンは特定の問題を解決します。原則は、コンテキストに関係なくどこにでも適用できます。原則(SRP、DRYなど)に基づく実際のパターン
EG戦略パターンを見てみましょう。アルゴリズムのファミリを定義し、各アルゴリズムをカプセル化し、それらを交換可能にします。したがって、ここにはアルゴリズムの高レベルの概念があります。状態パターンを使用すると、高度な状態の概念が得られます。原則では、高レベルの概念はありません。原則は、目標を達成するためにパターンによって使用されるビルディングブロックです。Strategyパターンを実装するとき、SOLIDを使用します。
アーキテクチャ用に最初に文書化されたパターン。建築では、部屋のドアの配置から村のレイアウトに至るまでに適用されます。
Gang of Fourはこのアイデアをオブジェクト指向プログラミングに適用しました。問題を解決するために使用できるパターンが複数ある場合がありますが、各パターンには特定の実装があります。他のプログラミング手法にもパターンがありますが、私は該当する本を知りません。他の人が言及したように、パターンは特定の実装を対象としています。適用されないパターンを使用することは、多くの場合、アンチパターンと見なされます。
原則は実装をカバーしませんが、標準的な実装アプローチがあります。原則は、特定の問題ではなく一般的な問題を扱うことです。Inversion of Controlについては、少なくとも3つの実装アプローチを認識しています。DRY(Do n't Repeat Yourself)の場合、特定の実装アプローチは1つしか知りませんが、いくつか使用しています。
検討する
オブジェクト指向デザインの原則—
OOの原則は、OOPの概念を保証する一連のガイドラインです。これは、OOPの概念に基づいて、より良い方法、より良い設計を設計する方法を定義します。基本的なオブジェクト指向設計の原則はソリッドです。
デザインパターンは、デザインの問題に対する一般的なソリューションを提供します。「デザインパターン」は、正午のオブジェクト指向の単語にも適用できることに注意してください。したがって、OO設計パターン(OODP)は、オブジェクト指向設計ベースのOO原則に対する一般的なソリューションを提供するものです。設計パターンは発見されたものであり、発明されたものではありません。OODPを定義する方法はいくつかありますが、最も有名なものはBSC [Behavioral Structural Creational]です。
詳細な説明のリンクは次のとおりです。 http://techythought.wordpress.com/2013/01/21/design-principle-vs-ds-design-pattern-describing-oop-elements/