60 lines
4.4 KiB
Markdown
60 lines
4.4 KiB
Markdown
|
# Java で実装されたデザインパターン
|
||
|
|
||
|

|
||
|
[](https://raw.githubusercontent.com/iluwatar/java-design-patterns/master/LICENSE.md)
|
||
|
[](https://sonarcloud.io/dashboard?id=iluwatar_java-design-patterns)
|
||
|
[](https://sonarcloud.io/dashboard?id=iluwatar_java-design-patterns)
|
||
|
[](https://gitter.im/iluwatar/java-design-patterns?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||
|
|
||
|
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
|
||
|
|
||
|
[](#contributors-)
|
||
|
|
||
|
<!-- ALL-CONTRIBUTORS-BADGE:END -->
|
||
|
|
||
|
# はじめに
|
||
|
|
||
|
デザインパターンとは、アプリケーションやシステムを設計する際によくある問題を解決するために、プログラマーが使用できる形式化された最良の手法です。
|
||
|
|
||
|
デザインパターンは、テストされ、証明された開発パラダイムを提供することで、開発プロセスを高速化することができます。
|
||
|
|
||
|
デザインパターンを再利用することで、大きな問題を引き起こす微妙な問題を防ぐことができます。
|
||
|
また、デザインパターンを熟知したコーダーやアーキテクトにとっても、コードの読みやすさが向上します。
|
||
|
|
||
|
# はじめる
|
||
|
|
||
|
このサイトでは、Java のデザインパターンを紹介しています。
|
||
|
これらのソリューションは、オープンソースコミュニティの経験豊富なプログラマーやアーキテクトによって開発されています。
|
||
|
|
||
|
パターンは、ハイレベルの説明またはソースコードを確認することで参照できます。
|
||
|
|
||
|
ソースコードの例はよくコメントされていて、特定のパターンをどのように実装するかを説明するプログラミングチュートリアルのようなものです。
|
||
|
|
||
|
私たちは、最も一般的で実績のあるオープンソースの Java 技術を使用しています。
|
||
|
|
||
|
資料に飛び込む前に、さまざまな[ソフトウェア設計の原則](https://java-design-patterns.com/principles/)に精通している必要があります。
|
||
|
|
||
|
すべてのデザインは、可能な限りシンプルであるべきです。
|
||
|
|
||
|
KISS(シンプルにしておけ!この間抜け)、YAGNI(機能は実際に必要となるまでは追加しないのがよい)、そして Do The Simplest Thing That Could Possibly Work(機能する可能性のある中で最もシンプルなことをする)の原則に基づいて設計を始めるべきです。
|
||
|
|
||
|
複雑さやパターンは、実用的な拡張性が必要な場合にのみ導入すべきです。
|
||
|
|
||
|
これらの概念を理解した上で、以下のような方法で[デザインパターン](https://java-design-patterns.com/patterns/) を掘り下げていくことができます。
|
||
|
|
||
|
- 特定のパターンを、パターン名で検索することができます。見つかない場合は、新しいパターンを[ここ](https://github.com/iluwatar/java-design-patterns/issues)で報告してください
|
||
|
- `Performance`, `Gang of Four` もしくは`Data access`などのタグを使用。
|
||
|
- `Creational`, `Behavioral`などのパターンカテゴリーを使用。
|
||
|
|
||
|
このサイトで紹介されているオブジェクト指向のソリューションが、あなたのアーキテクチャに役立ち、私たちが開発したように楽しく学ぶことができますように。
|
||
|
|
||
|
# コントリビュート方法
|
||
|
|
||
|
プロジェクトに貢献したいとお考えの方は、[開発者 wiki](https://github.com/iluwatar/java-design-patterns/wiki)に関連情報が掲載されています。
|
||
|
|
||
|
私たちは、[Gitter チャットルーム](https://gitter.im/iluwatar/java-design-patterns)であなたの質問にお答えします。
|
||
|
|
||
|
# ライセンス
|
||
|
|
||
|
このプロジェクトは、MIT ライセンスの条件の下でライセンスされています。
|