Latest web development tutorials

パターン設計をはじめ

デザインパターン(デザインパターン)のベストプラクティスを表し、それは多くの場合、経験豊富なオブジェクト指向のソフトウェア開発者によって採用されています。 デザインパターンは、顔のソフトウェア開発プロセスにおけるソフトウェア開発者の一般的な問題の解決策です。 これらのソリューションを合計試行錯誤の非常に長い期間を経て、多くのソフトウェア開発者です。

デザインパターンは、コード設計の経験の概要をカタログした後、ほとんどの人が知っている、繰り返し使用するように設定されています。 コードの信頼性を確保するために、他の人を理解するために、コードをより簡単に、コードを再利用するために設計パターンを使用してください。 確かに、デザインパターンは、システム内の他の人に持ってWin-Winのある、デザインパターンはコードにコンパイル本当のエンジニアリングを行い、デザインパターンは、同じレンガ石を構築するとして、ソフトウェア工学の基礎となるものです。 デザインパターンのプロジェクト使用の合理化は、各モードは、私たちの周り絶えず繰り返し発生する問題だけでなく、問題を説明し、現実の原則に対応する各モードが対応している、多くの問題に最適な解決策になることができます広く理由とすることができるデザインパターンを使用されているコアソリューション、。

GOF(四人組、四のスペルギャング)とは何ですか?

1994 Erich Gamma氏、リチャードヘルム、ラルフ・ジョンソンとジョン・ブリシディース4共同出版された本と呼ばれるデザインパターンによって-再利用可能なオブジェクト-の要素指向ソフトウェア(中国語の翻訳:デザインパターン-再利用可能なオブジェクト指向ソフトウェア要素)最初のソフトウェア開発設計パターンの概念を述べた本。

4人の著者をまとめてGOF(フォーフォーのスペルギャングのギャング)。 彼らは、設計モデルは、主にオブジェクト指向設計の原則に基づいて提案しました。

  • むしろプログラミングのためのプログラミングインタフェースより。
  • 優先度のオブジェクト合成ではなく継承。

デザインパターンの使用

2つの主な目的のためのソフトウェア開発におけるデザインパターン。

共通プラットフォームの開発者

デザインパターンは、標準的な用語のシステムを提供し、特定のシーンに関する。 すべてが単一のオブジェクトを使用することができシングルトンデザインパターンの開発に精通している、とお互いにこのように言うことができるように、例えば、単一のデザインパターンは、プログラムは、シングルトンパターンを使用して、単一のオブジェクトを使用することを意味します。

ベストプラクティス

デザインパターンは、長期間にわたって進化してきた、彼らは、ソフトウェア開発プロセスが直面する共通の問題に最適なソリューションを提供しています。 これらの学習モードでは、ソフトウェアの設計を学ぶために迅速かつ簡単な方法を通じて、経験の浅い開発者を支援します。

デザインパターンの種類

再利用可能なオブジェクト-の要素が-デザインパターンのデザインパターンの参考書によれば、指向ソフトウェア( 中国語の翻訳:デザインパターン-再利用可能なオブジェクト指向ソフトウェア要素)、23デザインパターンの合計を述べました。これらのパターンは、次の3つのカテゴリに分けることができます。スキーマ(生成に関するパターン)、構造モデル(構造パターン)、モデル(行動パターン)の種類を作成します。 J2EEデザインパターン:もちろん、私たちは、デザイン・パターン別のタイプについて説明します。

序号模式 & 描述包括
1创建型模式
这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用新的运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。
  • 工厂模式(Factory Pattern)
  • 抽象工厂模式(Abstract Factory Pattern)
  • 单例模式(Singleton Pattern)
  • 建造者模式(Builder Pattern)
  • 原型模式(Prototype Pattern)
2结构型模式
这些设计模式关注类和对象的组合。继承的概念被用来组合接口和定义组合对象获得新功能的方式。
  • 适配器模式(Adapter Pattern)
  • 桥接模式(Bridge Pattern)
  • 过滤器模式(Filter、Criteria Pattern)
  • 组合模式(Composite Pattern)
  • 装饰器模式(Decorator Pattern)
  • 外观模式(Facade Pattern)
  • 享元模式(Flyweight Pattern)
  • 代理模式(Proxy Pattern)
3行为型模式
这些设计模式特别关注对象之间的通信。
  • 责任链模式(Chain of Responsibility Pattern)
  • 命令模式(Command Pattern)
  • 解释器模式(Interpreter Pattern)
  • 迭代器模式(Iterator Pattern)
  • 中介者模式(Mediator Pattern)
  • 备忘录模式(Memento Pattern)
  • 观察者模式(Observer Pattern)
  • 状态模式(State Pattern)
  • 空对象模式(Null Object Pattern)
  • 策略模式(Strategy Pattern)
  • 模板模式(Template Pattern)
  • 访问者模式(Visitor Pattern)
4J2EE 模式
这些设计模式特别关注表示层。这些模式是由 Sun Java Center 鉴定的。
  • MVC 模式(MVC Pattern)
  • 业务代表模式(Business Delegate Pattern)
  • 组合实体模式(Composite Entity Pattern)
  • 数据访问对象模式(Data Access Object Pattern)
  • 前端控制器模式(Front Controller Pattern)
  • 拦截过滤器模式(Intercepting Filter Pattern)
  • 服务定位器模式(Service Locator Pattern)
  • 传输对象模式(Transfer Object Pattern)

ここではデザインパターンとの関係を説明するための全体像を持ちます:

设计模式之间的关系

デザインパターンの6つの原則

1.オープン閉鎖原則(オープンクローズ原理)

拡張のためのオープンが、修正のために閉鎖 :オープンクローズ原理意味します。 プログラムが展開する必要がある場合、ホットスワップ可能なの効果を達成するために元のコードを変更しません。 要するに、プログラムのスケーラビリティを行うために、保守やアップグレードの容易さ。 この効果を実現したい、我々はインターフェースと抽象クラスを使用する必要があり、具体的な設計は、後で私たちは、この点に言及します。

2、リヒターの置換原則(リスコフの置換原則)

リヒター置換原理は、オブジェクト指向設計の基本的な原則の一つです。 任意の基底クラスが表示される場所、サブクラスが現れできるようになることリヒター置換原則。 LSPは、派生クラスが基底クラスを置き換えることができる場合にのみ多重礎石を継承し、機能ソフトウェアユニットは、基本クラスが実際に再利用することができ、影響を受けません。また、派生クラスは、クラスが新しい追加されますベースの基礎となり得ます行動。 リヒター置換原則は開閉の相補性の原理です。 リヒター置換原理は仕様を実装するための抽象具体的な手順であるので、重要なステップは、抽象具体的な実現の開閉抽象化、継承と基底クラスとサブクラスの原則の実現です。

3.依存関係反転原理(依存性反転の原理)

この原理は、開閉、特定のコンテンツの原則に基づいている:プログラミング・インタフェースについては、抽象に応じて特定のには依存しません。

4、インタフェース分掌の原則(インタフェース分掌の原則)

この原則の意味は次のとおりです。複数の分離インタフェースの使用は、単一のインターフェースを使用するよりも優れています。 それはまた別の意味を有する:クラス間の結合度を低減します。 したがって、簡単な、大規模なソフトウェアアーキテクチャから始まるデザインパターンは、カップリングを低減する、依存性を低減際立たソフトウェア設計をアップグレードし、維持するという事実。

また、少なくとも既知の原理(デメテル原理)として知られている5、デメテル、

最小は原則手段を知っている:エンティティは、システムの比較的独立した機能モジュールを作り、他のエンティティとの間でできるだけ対話しなければなりません。

6、合成多重化の原則(コンポジットリユース原理)

合成多重化は原則を指し:/ポリマーの合成方法の使用を可能な限り、代わりに継承を使用します。