C#初心者でフォームアプリを作っているんですが
例えばあるクラスAが非同期で外部機器を延々ポーリングしていて、トリガーが発生したらクラスBの処理を行いたいといった場合
・クラスAにクラスBのインスタンスを渡して、クラスBのメソッドを呼び出す
・クラスAに宣言したデリゲート(evemt?)にクラスBのメソッドをコールバック関数として登録し、クラスAはデリゲートを実行する
どちらが一般的なコーディングなんでしょうか
後者だと複数実行したい処理があるとかなり冗長な気がするんですが、他にセオリーあれば教えて頂きたいです
よろしくお願いします