デザインモードも使用しません。 多くの人は、ビジネス コードを書いていると考え、ロジックに従ってコードを記述し、再利用のために共通メソッドを抽出します。デザイン パターンを学ぶ必要はもちろん、使用する必要もありません。 最初は私もそう思っていましたが、彼に会うまではそう思っていました。 。 。 例えば まず、一般的な注文インターセプト インターフェースを見てみましょう。 基本ロジック、パラメータセキュリティインターセプト、番号インターセプト、ルールインターセプトがすべて合格すると、注文の発注が許可されます。いずれかが失敗した場合は、対応する失敗理由が返されます。 多層ネストされた書き込みの場合 通常の多層ネストされたif記述法
例外処理ロジック あるいは例外を使ってロジックを実行すると、コードはよりシンプルになります
最初は、例外を直接使用してロジックを実行していました。しかし、その後のロジックが複雑になるにつれて、いくつかの問題が発生します。たとえば、例外は例外情報のみを返すことができ、詳細なフィールド情報を返すことはできません。 その後、Alibaba の規則では異常なロジックが禁止されていることにも気付きました。 Alibaba コード標準: [必須] プロセス制御や条件制御には例外を使用しないでください。 注: 例外設計の本来の意図は、プログラムの動作中に発生するさまざまな予期しない状況を解決することであり、例外処理の効率は条件判断に比べてはるかに低くなります。 さらに重要なのは、コードが読みにくいことです。メソッド内で例外がスローされた場合は、コード自体の例外も考慮する必要があります。 より良い方法はなく、デザインパターンを考慮するしかありません コードをもっと読みやすく、拡張可能にするにはどうすればいいでしょうか? 同僚のリマインダーのおかげで、突然デザインパターンを思い出しました! 私たちが達成したいこと
責任連鎖パターン このシナリオでは、責任連鎖モデルが非常に適しています。 (どのようなデザインパターンをどのようなシナリオで使用するのか?これには日々の積み重ねと、さまざまなデザインパターンの基本的な使い方を知ることが必要です) 名前が示すように、責任チェーンは関連するトランザクションの責任を処理するために使用される実行チェーンです。実行チェーンには複数のノードがあり、各ノードには要求トランザクションを処理する機会(条件の一致)があります。ノードが処理を完了した場合、実際のビジネス ニーズに応じて、次のノードに渡してさらに処理したり、戻して処理を完了したりできます。 まず、フィルターの抽象クラスを作成します
フィルタ実装クラス
フィルターの順序を決定するには Order アノテーションを使用します。これは、後で Spring に挿入するときに驚くべき効果をもたらします。
デザインパターンを使用する利点 Chain of Responsibilityパターンを使用した後にどのようなメリットがあるか見てみましょう。
デザインパターンを使用することのデメリット 低結合と高いスケーラビリティを実現します。しかし、それはいくつかの悪い結果ももたらしました
最後にまとめましょう デザインパターンはあらゆる場所に適しているわけではありません。ロジックが単純であるにもかかわらず、デザイン パターンの使用にこだわると、構造が複雑になるだけです。ビジネスシナリオに応じてご利用いただけます。 著者について: Nanshanshi: インターネット電子商取引システム開発で 7 年の経験を持つ理工系男性であり、知識共有の分野では初心者です。 |
<<: Hadoop、HBase、Hive、Spark の分散システム アーキテクチャを 3 分で理解する
>>: 仮想マシンのバックアップ技術の原理とネットワークの概要
エンタープライズ ソフトウェアにおける世界有数のイノベーターである VMware (NYSE: VM...
1.SEO は単なる補助ツールです。魔法のようなものだと考えないでください。 2. SEO 学習の初...
WeChatパブリックプラットフォームが立ち上げられた後、大手企業はこぞってオープンプラットフォーム...
2月1日夜、新華社通信は3本連続で記事を掲載し、一般アカウントのコンテンツの「盗用」がますます横行し...
678cdnは春節特別限定50%オフプロモーションを開始し、新規ユーザーは0元で100Gの高防御トラ...
Baiduウェブマスターツールの外部リンクツールで照会された外部リンクデータを分析するために、Pyt...
「Baidu Original」の話題はよく取り上げられ、インターネット上では関連投稿が数多く出回っ...
少し前に、Weiboで「独立系ゲームのクラウドファンディングには、どの国内ウェブサイトの方が信頼でき...
SEO 最適化の目的は何ですか? Baidu のホームページにランクインして、より多くのユーザーが検...
2012年2月7日、Googleは再びPRを更新しました。今回の更新はマイナーアップデートかもしれま...
1 か月以上のテストを経て、kvmla の Equinix OS1 データ センターが日本大阪で正式...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています中国サッカ...
edgevirtは2017年1月4日に設立された新会社です。シアトル、マイアミ、アムステルダムのデー...
webhostingbuzz.com は、よく知られているアメリカのホスティング会社です。2002 ...
ソフト記事の台頭は一時的なものではなく、ルネサンスでもありません。むしろ、それはオンラインでの宣伝や...