なぜ、このトピックを書くのか?
どこでもソフトウェアデザインセンターソリューションの層を追加します。我々はいくつかの重要な内容を見るように、シーンの多くは櫛を考えるために、この考え方の適用に基づいている見るので、この書き込みの目的はあります。
解体サンプルとして、今日の主流の技術や概念のいくつかの方法は、あなたが理解して支援します。
基礎となるロジックとデザインのアイデアを見つける、それは専門用語のすべての種類、無知な力の全体の外観の技術的な概念ではありません。
今の説明の3つの高い雪崩、トレーニング、あまりにもハードの学校の仕事をし、全身三高を行い、ハハ、冗談。
しかし、設計ソフトウェアのレベル、プログラミングを考える何かが、我々はまた、沈殿を考えて、学習を強化する必要があります。テクニックだけでなく、3高いです。
そして、特定の技術的なフレームワークを学ぶようなものの考え方のレベルは、数日に身を投げたりしても、数時間は始めるために使用することができます。しかし少し、少しずつによってではなく、蓄積ビット、思考をまとめます。
他の人が常に参照することができ、他の誰かのだろう、他人の概要は仕事をしません参照してください、私たちは自分自身をまとめる必要があります。
テーマに戻り、今日のシェアは「力を高めるために設計されたソフトウェアの中間層の上に」です。
テキスト開始
あなたは、JVMに精通しています
私たちは、単純な実行JVMを見ています。
図は簡略化され、JVMの部分は、全体的な構造に焦点厳密ではありません、あなたはクラスファイルとオペレーティングシステムの間で、JVMを見ることができます。JVMは、異なるオペレーティングシステム用に達成するために行わ。JVM異なるプラットフォームは、プラットフォームのマシンコードの実行を対応するクラスとして解釈されます。JVMを追加した後、新しいオペレーティングシステムの後に、オペレーティング・システムによって、クラス間で発生し、のみ対応プラットフォーム用のJVMを実装する必要があり、あるプロジェクトを(JVMは、各プラットフォーム用の公式チームの治療があり、我々が懸念している必要はありません)これは、プラットフォーム上で実行することができますどこでも実行宣言したら、Javaで書かれています、。前提はどこにでも実行している、とどこでもJVMの実装のための必要性。
それは中間層、開発環境の単離およびオペレーティングシステムとして機能JVM。
メリットの単離は、相互の影響の排除であり、2つの側面の間の直接接触には適していない、これらは目に見えないのこの層JVMあるもたらしました。
プロジェクト開発者は、どのような基礎となるオペレーティングシステム、私はちょうどお尻JVMを気にしません。私のビジネスに関連するオペレーティング・システムのアップグレードの変更は、これはJVM考慮すべき事柄です。
オペレーティングシステムに、あなたのクラスを実行すると、変更を加えるためには必要ありません。また、これは、考慮すべきJVMものです。
私はデザインモードで過ごすことができるのか分からない人
プロキシモード
シンプルなデザインモードと見なさは、図を参照してください、また、比較的容易に理解することです。
アスペクトモードは
、マップを見て
、この役割の出現後の中間層の真ん中を、呼び出し側のために、それは非常に簡単になり、ハムハムRIP RIPオリジナル曲3、今や単に単調。
その他には記載されていない、スペースの制約の多くが含まれています。
メッセージングミドルウェア
ここでは、メインのシーン、実現できるメッセージングミドルウェアとのデカップリング下で使用するミドルウェア、2つのサービス間の依存関係の解消を、メッセージングと述べ、彼は中央の交換システムを実現することができ、それを達成することはできませんミドルウェアメッセージングは大きくはありませんが、私たちは既製を持っているので、時間とエネルギーを投資する必要があります。
このシナリオでは2つのサービスの間で独占的に依存デカップリングは、実際に披露するものではありません多対多サービス構造に変換した後、中間層の間には多くのツーコール構造の他に、その真のパワー嘘を。
下記に示すように、
ゲートウェイ
またはマップを見て
中間層ゲートウェイを添加した後、一つの統一入り口の呼び出しへの呼び出し元に対する一方、実アドレス・アクセス・サービスを非表示にすることができ、統一層ゲートウェイのすべてのバックエンドサービスのグローバル処理ロジックを追加することができ、例えばカムなど右、ログ記録を制限するというように。
最後のシーンで別のプロジェクトとして、
遭遇したプロジェクトは、リアルタイムでデータが不要な技術的要素を導入したくない、聞かないで、顧客の欲求の非常に複雑な統計SQL最終的な出力、非常に低速データクエリの大量を通じて必要だった前のシーン状況下で、どのようにこの問題に対処するには?
解決策は、中間結果表を追加することで、通常のSQL実行統計は、結果表になり、クエリー機能は、直接、簡単に解決することであり、結果表を照会します。次のように図が処理しました
これらは内容のほんの一部のリストです、それだけで読者に任せることができます言及しなかった自分が自分を理解発見しました。
概要
集計の下で、解体、上記結合の例としては、中間層の設計は、おそらく次のシーンに対応することができます。
ここでは、特別な重点は、デザインの下にレイヤーを追加することで、キーは、この設計を吸収する必要性への鍵であるので、だけでなく、技術的な問題を解決することができ、仕事も、日常生活で使用することができます。
シーンへの技術的なバックのために、さまざまなシナリオは、必ずしも、そのような特定のシナリオの下でのように、このようなAの技術コンポーネントに導入する必要があるフィールドを追加し、クラスを達成することができます追加しないで、異なるものになります取り扱わ。学習し、使用してください。
デカップリング
デカップリングの目的は、スケーラブルで、メンテナンスに従うことで、アップグレードソフトウェアは、彼らの独立した進化を確保するために、変更することができます。
集合
簡素化し、上層へのアクセスを容易にするために、そこにデカップリング少ないバンドであり、アクションの詳細を隠し、ポリマー中間層を追加して、結果を呼び出していない重合の焦点が、それはこの効果を持っていません。
ユニファイド治療
このような認証中心として前述のように、典型的なアプリケーションシナリオとシナリオ、ゲートウェイは、ロギングがすべてのゲートウェイ均一に行うことができます。
詳細を隠します
自分の小さな秘密のいくつかは、そこに行うにはどのようにすることを公共のノウハウをさせたくない何のシステムがありませんか?プラス外部コール・レベル、あなたがしたいすべてのパラメータを行うことができます変更、メソッド名を変更し、実際のサービスのアドレスを非表示にします。
違いシールド
、実際には、適切なアダプタ、2でプラグが3つのソケットに補間方法の典型的なシナリオのためのデザインモードを取らなかった、上記のシナリオに対応します。変換ヘッドの真ん中を行うことができます。インターフェースシールドとの間の差によって間接的にアダプタ。
対応するシステムにも、インタフェースの出力XMLであり、他方がどのようにそれをする場合、の両方で変更することができない、JSON受信者ニーズ中間変換の層を追加することです。シールドの差分データパケット。
遂に
実際には、良いデザインは、ある程度のいくつかの技術的な問題を避けるため、我々は、努力を続ける、探求学習維持し続ける必要があり、問題のシナリオを、簡素化し、常にまとめることができます。
大丈夫感じる、休暇の指先が賞賛します。
これらは、私たちの次の問題を参照して、今日のコンテンツです。