デコレータデザインパターンは、クラスの機能を拡張するための非常に優れたソリューションです。たとえば、既存のクラスメソッドで前処理メソッドと後処理メソッドが必要な場合は、デコレータを作成し、基本クラスの既存のメソッドをオーバーライドして、それぞれ前処理メソッドと後処理メソッドを呼び出すことができます。
ここでの私の質問は、上記の要件がアプリケーションの設計中に発生することはめったにないということです。作成したすべてのメソッドを仮想としてマークして、デコレータでオーバーライドできるようにすることはできません。したがって、メソッドの非表示に頼る必要があります。
メソッドをオーバーライドしたい状況で可能な限り最良の方法で実行できるように、クラスを設計するためのより良い方法はありますか?