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