コールバック
コールバックとは
電話をかける場合に、相手側に自分の電話番号を教えて、相手側にかけ直してもらう通話方法。
この方法は、自分からかけた場合に通話料金が高くつく場合に安く済ませることができるほか、相手側の都合がはっきりしていない場合などに有効な方法です。
プログラミングでもこういった方法が導入されることがあります。
実装は関数APIを使う方法や、専用のインターフェースを作成する方法、専用のライブラリを活用するなど、色々あるらしいですがここでは概念的な範囲の説明に留めておきます。
プログラミングにおけるコールバックとは、
クラスAの処理Aを呼び出す場所はクラスAで決定しているが、処理Aの内容に関してはクラスAを呼び出したクラスBに決めさせることを指します。
別にクラスA内で管理させればよくない?と思うかもしれませんが、
クラスBに限らず、クラスC、D、E…と、クラスAを呼び出すクラスが多い場合、それぞれの呼び出し元に合わせた処理をすべてクラスA内で管理してしまうと、クラスAの中身だけめちゃくちゃ膨れ上がってしまいますね?また、処理Aを呼び出すのが1箇所ならいいのですが、それが複数メソッドを跨いでいる場合、、、想像するだけで吐き気がしますね。
拡張性と保守性を同時に高めることができる「コールバック」、ぜひ活用してみてください。