Layer

低位レイヤと高位レイヤに API を分割する

利点

  • 高位レイヤは頻出する用法に専念できる
  • 低位レイヤは可能なことをすべて提供することに専念できる
  • トータルとして、頻出する用法に適していながら、可能なことを禁止しないことが実現できる

注意点

  • 高位レイヤと低位レイヤの間で移行が困難な場合がある。アプリケーションの初期段階で高位レイヤライブラリを利用していても、あとから低位レイヤの機能が必要になるかもしれない。そのときにどのくらい容易に低位レイヤを使用できるか。

レイヤ分割の判断

  • 頻出する用法に API を最適化する場合に、本来可能であることを禁止せざるをえないとき、レイヤを分ける
    • open3 は起動したプロセスを自動的に Process.detach する。detach しないことはできない。低位レイヤの spawn は detach するかどうかは呼出側が判断する。
    • open-uri は HTTPのすべての機能は提供しない。net/http は HTTP のすべての機能を提供する。
Last modified: 2010-05-26 Attached files total: 0Bytes