設計パターンは、ソフトウェア設計における一般的な問題に対する再利用可能な解決策です。これらは、ソフトウェア開発、特に Java などのオブジェクト指向プログラミングのさまざまな状況に適用できるベスト プラクティスを表しています。
public class Singleton { private static Singleton instance; private Singleton() {} public static Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; } }
import java.util.ArrayList; import java.util.List; interface Observer { void update(String message); } class Subject { private List observers = new ArrayList(); public void addObserver(Observer observer) { observers.add(observer); } public void notifyObservers(String message) { for (Observer observer : observers) { observer.update(message); } } }
class Product { private String part1; private String part2; public void setPart1(String part1) { this.part1 = part1; } public void setPart2(String part2) { this.part2 = part2; } } class Builder { private Product product = new Product(); public Builder buildPart1(String part1) { product.setPart1(part1); return this; } public Builder buildPart2(String part2) { product.setPart2(part2); return this; } public Product build() { return product; } }
interface Shape { void draw(); } class Circle implements Shape { public void draw() { System.out.println("Drawing a Circle"); } } class Rectangle implements Shape { public void draw() { System.out.println("Drawing a Rectangle"); } } class ShapeFactory { public Shape getShape(String shapeType) { if (shapeType == null) return null; if (shapeType.equalsIgnoreCase("CIRCLE")) return new Circle(); if (shapeType.equalsIgnoreCase("RECTANGLE")) return new Rectangle(); return null; } }
「4 人組」とは、「デザイン パターン: 再利用可能なオブジェクト指向ソフトウェアの要素」というタイトルの影響力のある本の著者を指します。著者である Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides は、ソフトウェア エンジニアリングの基礎となった 23 の古典的な設計パターンを紹介しました。
設計パターンは、開発者が堅牢で保守可能なシステムを作成するのに役立つ、Java プログラミングにおける重要なツールです。効果的なソフトウェア設計には、それらの用途、利点、欠点を理解することが重要です。 Gang of Four の貢献は、これらのパターンを効果的に適用するための強固な基盤を提供します。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3