Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

はじめに

参加

この本への貢献に興味がある場合は、 コントリビューションガイドラインを確認してください。

ニュース

デザインパターン

ソフトウェア開発では、発生する環境が異なっていても、共通点を持つ問題にしばしば遭遇します。目の前の課題を解決するうえでは実装の詳細が重要ですが、個別の事情を抽象化することで、汎用的に適用できる共通のプラクティスを見つけられます。

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

覚えておいてください: 各パターンには、それぞれ独自のトレードオフがあります。単にどのように実装するかだけでなく、なぜ特定のパターンを選ぶのかに焦点を当てることが重要です。1

Rustにおけるデザインパターン

Rust は従来の意味でのオブジェクト指向言語ではなく、関数型の要素、強力な型システム、借用チェッカーなどを組み合わせることで独自性を持っています。このため、Rustのデザインパターンは、他の従来のオブジェクト指向プログラミング言語とは異なります。それが、この本を書くことにした理由です。楽しんで読んでいただければ幸いです!この本は3つの主要な章に分かれています:

  • イディオム: コーディング時に従うべきガイドラインです。これらはコミュニティで共有されている規範です。十分な理由がある場合にのみ、そこから逸脱すべきです。
  • デザインパターン: コーディング時によくある問題を解決するための方法です。
  • アンチパターン: コーディング時によくある問題に対する、一見すると解決策に見える方法です。ただし、デザインパターンが利益をもたらす一方で、アンチパターンはより多くの問題を生み出します。

  1. https://www.infoq.com/podcasts/software-architecture-hard-parts/ (アーカイブ)