はじめに

参加

本書への寄稿にご興味のある方は、contribution guidelinesをご覧ください。

ニュース

  • 2024-03-17:このリンク](https://rust-unofficial.github.io/patterns/rust-design-patterns.pdf)からPDF形式でダウンロードできるようになりました。

デザインパターン

ソフトウェア開発では、それがどのような環境で発生したかに関係なく、共通点を持つ問題に出くわすことがよくあります。目の前の課題を解決するためには実装上の詳細が重要ですが、私たちはこのような詳細から抽出することで、一般的に適用可能な共通プラクティスを見出すことが可能です。

デザインパターンとは、エンジニアリングで繰り返し発生する問題に対する、再利用可能でテスト済みの解決策を集めたものです。デザインパターンは、ソフトウェアをよりモジュール化し、保守しやすく、拡張しやすいものにします。さらに、これらのパターンは開発者に共通言語を提供するため、チームが問題解決する際の効果的なコミュニケーションツールとなります。

Rustのデザインパターン

Rustはオブジェクト指向ではありません。また、関数型プログラミングの要素、強力な型システム、借用チェッカーなど、Rustのすべての特徴の組み合わせがRustをユニークなものにしています。このため、Rust のデザインパターンは他の伝統的なオブジェクト指向プログラミング言語とは異なります。これが私たちがこの本を書くことにした理由です。ご愛読いただければ幸いです!本書は大きく3つの章に分かれています:

  • イディオム:コーディングの際に従うべきガイドライン。コミュニティの社会的規範です。正当な理由がある場合のみ破るべきです。
  • デザインパターン:コーディング時によくある問題を解決するための手法。
  • アンチパターン:コーディング時によくある問題を解決するための手法。しかし、デザイン・パターンには利点がある一方で、アンチ・パターンはより多くの問題を引き起こします。
Last change: 2024-07-09, commit: 317c88e