14
解決策は可能な限り一般的であるか、可能な限り具体的である必要がありますか?
「タイプ」属性を持つエンティティがあるとします。可能なタイプは20以上あります。 ここで、タイプをA-> Bから変更できるものを実装するように求められます。これは唯一のユースケースです。 したがって、有効なタイプである限り、タイプの任意の変更を許可するものを実装する必要がありますか?または、要件ごとにA-> Bからの変更のみを許可し、B-> AまたはA-> Cなどの他のタイプの変更を拒否する必要がありますか? 両方の長所と短所を見ることができます。一般的な解決策は、将来同様の要件が発生した場合の作業が少なくなることを意味しますが、間違っている可能性が高くなります(ただし、これで発信者を100%制御しますがポイント)。 特定のソリューションではエラーが発生しにくくなりますが、同様の要件が発生した場合、今後さらに作業が必要になります。 優れた開発者は、将来の拡張が容易になるように、変更を予測してシステムを設計する必要があると聞き続けていますが、これは一般的な解決策のように思えますか? 編集: それほど具体的ではない例に詳細を追加する:この場合の「汎用」ソリューションは、「特定」ソリューションよりも作業が少なくて済みます。特定のソリューションでは、古いタイプと新しいタイプの検証が必要です。新しいタイプのみを検証する必要があります。