デザインモードも使用しません。 多くの人は、ビジネス コードを書いていると考え、ロジックに従ってコードを記述し、再利用のために共通メソッドを抽出します。デザイン パターンを学ぶ必要はもちろん、使用する必要もありません。 最初は私もそう思っていましたが、彼に会うまではそう思っていました。 。 。 例えば まず、一般的な注文インターセプト インターフェースを見てみましょう。 基本ロジック、パラメータセキュリティインターセプト、番号インターセプト、ルールインターセプトがすべて合格すると、注文の発注が許可されます。いずれかが失敗した場合は、対応する失敗理由が返されます。 多層ネストされた書き込みの場合 通常の多層ネストされたif記述法
例外処理ロジック あるいは例外を使ってロジックを実行すると、コードはよりシンプルになります
最初は、例外を直接使用してロジックを実行していました。しかし、その後のロジックが複雑になるにつれて、いくつかの問題が発生します。たとえば、例外は例外情報のみを返すことができ、詳細なフィールド情報を返すことはできません。 その後、Alibaba の規則では異常なロジックが禁止されていることにも気付きました。 Alibaba コード標準: [必須] プロセス制御や条件制御には例外を使用しないでください。 注: 例外設計の本来の意図は、プログラムの動作中に発生するさまざまな予期しない状況を解決することであり、例外処理の効率は条件判断に比べてはるかに低くなります。 さらに重要なのは、コードが読みにくいことです。メソッド内で例外がスローされた場合は、コード自体の例外も考慮する必要があります。 より良い方法はなく、デザインパターンを考慮するしかありません コードをもっと読みやすく、拡張可能にするにはどうすればいいでしょうか? 同僚のリマインダーのおかげで、突然デザインパターンを思い出しました! 私たちが達成したいこと
責任連鎖パターン このシナリオでは、責任連鎖モデルが非常に適しています。 (どのようなデザインパターンをどのようなシナリオで使用するのか?これには日々の積み重ねと、さまざまなデザインパターンの基本的な使い方を知ることが必要です) 名前が示すように、責任チェーンは関連するトランザクションの責任を処理するために使用される実行チェーンです。実行チェーンには複数のノードがあり、各ノードには要求トランザクションを処理する機会(条件の一致)があります。ノードが処理を完了した場合、実際のビジネス ニーズに応じて、次のノードに渡してさらに処理したり、戻して処理を完了したりできます。 まず、フィルターの抽象クラスを作成します
フィルタ実装クラス
フィルターの順序を決定するには Order アノテーションを使用します。これは、後で Spring に挿入するときに驚くべき効果をもたらします。
デザインパターンを使用する利点 Chain of Responsibilityパターンを使用した後にどのようなメリットがあるか見てみましょう。
デザインパターンを使用することのデメリット 低結合と高いスケーラビリティを実現します。しかし、それはいくつかの悪い結果ももたらしました
最後にまとめましょう デザインパターンはあらゆる場所に適しているわけではありません。ロジックが単純であるにもかかわらず、デザイン パターンの使用にこだわると、構造が複雑になるだけです。ビジネスシナリオに応じてご利用いただけます。 著者について: Nanshanshi: インターネット電子商取引システム開発で 7 年の経験を持つ理工系男性であり、知識共有の分野では初心者です。 |
<<: Hadoop、HBase、Hive、Spark の分散システム アーキテクチャを 3 分で理解する
>>: 仮想マシンのバックアップ技術の原理とネットワークの概要
キーワードの配置は、SEO のサイクルや SEO の成功または失敗を直接決定する場合があります。この...
Google Gmailの公式ブログによると、GoogleはGmailの画像の取り扱いに関するルール...
[[430078]]詳細については、以下をご覧ください。 51CTOとHuaweiが共同で構築したH...
ClickHouse PaaS クラウドネイティブ マルチテナント プラットフォーム (Altini...
2016 年 11 月に設立された Edgenet は、3 年間運営されています。11.11 イベン...
まず、ゲーム素材のデザイン目標は、プレイアビリティと高品質を強調することであることを強調したいと思い...
ZEPETOは、漫画キャラクターのカスタマイズを入り口として利用しています。ユーザーは、作成した高品...
[編集者注] この記事は、周紅毅氏のブログから転載したもので、内容は2012年11月9日に開催された...
この記事の目的は、Bind9 を介して独自のサーバー (VPS) 上に独自の DNS サーバーを簡単...
Megalayer は、フィリピン VPS/フィリピン クラウド サーバーとフィリピン独立サーバー ...
単純にSEO受注の観点から言えば、SEOサイクルを正確に見積もるのはかなり面倒な作業です。現在有名な...
WeChat プロモーション、WeChat マーケティング、WeChat を宣伝する方法は? WeC...
SharkTech は、専用サーバーを最大 44% 割引する春のプロモーション プランを発表しました...
DEDEcms は中国のオープンソース CMS プログラムです。現在、ウェブサイトの構築に dede...
外部リンクに関しては、SEO に関係する人たちはよく知っています。外部リンクがウェブサイトの検索エン...