パフォーマンスを念頭に置いて、ソフトウェアのコンポーネントまたはアーキテクチャの設計に集中することをお勧めしますか? 私が言いたいのは、パフォーマンス集約型の環境で設計/アーキテクチャをどの程度準備する必要があるかということです。
コンポーネントを設計するときは、適切なオブジェクト指向の原則に従い、コンポーネントが「拡張可能」であることを確認する必要があります。このようにして、パフォーマンスの問題が発生したときに、設計をあちこちで少し調整します。この方法では、ソフトウェアを少し調整しても役に立たないパフォーマンスの問題に遭遇することがよくありました。
あるいは、複雑ではありますが、パフォーマンスの問題を簡単に解決できる設計を考え出す必要があります。ソフトウェアを微調整する必要がありますが、設計はパフォーマンス指向であるため、微調整は非常に簡単です。
注: 上記のいずれの場合でも、パフォーマンスの問題が発生する前にソフトウェアのパフォーマンスを調整しようとしているわけではありません。質問を言い換えると、ソフトウェアの設計はパフォーマンス指向である必要がありますか?
ソフトウェアが実行されると予想される環境にすべて依存すると言って、私に答えないでください。その理由は、産業グレードのソフトウェアのクライアントが、常にますます多くのソフトウェアを必要としているように見えるからです。パフォーマンスが重視される環境でソフトウェアを常に実行することを計画していないかもしれませんが、そうしなければならない場合はどうすればよいでしょうか? それを感じたら、ソフトウェアを再設計する必要がありますか?
この質問は 1 週間前から私を悩ませてきましたが、まだ答えがありません。これについてどう思いますか?