検索ガイド -Search Guide-

単語と単語を空白で区切ることで AND 検索になります。
例: python デコレータ ('python' と 'デコレータ' 両方を含む記事を検索します)
単語の前に '-' を付けることで NOT 検索になります。
例: python -デコレータ ('python' は含むが 'デコレータ' は含まない記事を検索します)
" (ダブルクオート) で語句を囲むことで 完全一致検索になります。
例: "python data" 実装 ('python data' と '実装' 両方を含む記事を検索します。'python data 実装' の検索とは異なります。)
当サイトのドメイン名は " getwebtips.net " です。
トップレベルドメインは .net であり、他の .com / .shop といったトップレベルドメインのサイトとは一切関係ありません。
practical_python_design_patterns

Practical Python Design Patterns - Python で学ぶデザインパターン: The Factory Pattern - Part. 4 「ファクトリーパターン: まとめ」の巻 投稿一覧へ戻る

Published 2022年5月26日17:42 by T.Tsuyoshi

SUPPORT UKRAINE

- Your indifference to the act of cruelty can thrive rogue nations like Russia -

Summary
(ファクトリーパターン: まとめ)

ソフトウェアの開発に携わる場合、将来起こり得るであろう全ての可能性に対処できるようにしておかなければ、という強迫観念にあまり囚われたくはないものです。もちろん「先を見越して」の開発は大切なことではありますが、将来必要となるであろう「全て」に対処できる「ジェネリック (generic)」なソフトウェアを構築しようという試みは、大体において「無益な練習」に終わってしまいます。そうなってしまう最も簡単な理由は、世の中と同様ソフトウェアも将来的にどのようになっていくのかをはっきりと見通す術がないからです。
ただし、先のことなど考えず目先の目的だけを果たせば良い、などと言っているわけではありません。新たな機能を追加しコードを進化させていくことができる能力は、ソフトウェア開発者としてあなたが学ぶべき最も重量なスキルの1つです。コードを「正しいもの」にするために、以前記述したものをすべて捨て去って1から作り始めよう、という誘惑には常に駆られますね。でもこれはただの「幻想」です。「正しいもの」を作り上げるために1から始めた途端、何やら「よろしくない」新たなものが出現します。そこでまた1から作り始め...、果たしていつ「正しいもの」にたどり着くのでしょうか?
一般に言われている原則 (general principle) は YAGNI です; ソフトウェア開発者としてキャリアを積んできた人であればこの「略語」とどこかで出会ったことがあるでしょう。これは 'You ain't gonna need it!' の頭字語で、直訳すれば「たぶんそれはいらないよ」ということになります。これの意味するところは、現在直面している問題を「より良く」処理するためのコードを書こう、そして、他の問題が生じたらその時初めてその問題を解決するためのコードを考えよう、というものです。
多くのソフトウェア開発において、まずは単純なファクトリーメソッドが採用されることが多いのはこれが理由です。そして開発途中でより柔軟な実装を行う必要性が生じた場合にのみ、抽象ファクトリー (abstract factory)、プロトタイプ (prototype)、ビルダー (builder) といったパターンを使用してプログラムを進化させるのです。

この投稿をメールでシェアする

0 comments

コメントはまだありません。

コメントを追加する(不適切と思われるコメントは削除する場合があります)