大規模なプロジェクトや API/フレームワークの設計の経験がある方に質問です。
私は将来、他の多くのプロジェクトで使用されるフレームワークに取り組んでいるので、それを素晴らしく拡張可能にしたいと考えていますが、同時にシンプルで理解しやすいものにする必要があります。
多くの人が、.NET フレームワークに含まれるシール クラスとプライベート メンバーが多すぎると不満を漏らしていることを知っています。この批判を避けて、すべての保護された仮想メンバーですべてのクラスを開く必要がありますか?
できるだけ多くのメソッドとプロパティを保護された仮想にするのは良い考えですか? どのような状況で、保護された仮想を避け、メンバーを非公開にしますか?