ソフトウェア開発におけるインターフェイスという考え方 by 小山健一郎

PHPerKaigi 2025
採択
2025/03/22 16:15〜
Track C
レギュラートーク(40分)

ソフトウェア開発におけるインターフェイスという考え方

k1LoW 小山健一郎 k1LoW
9

インターフェイスという言葉は、さまざまな文脈で使用されます。具体的には以下のようなものがあります。

  • プログラミング言語に備わっているInterface(オブジェクトインターフェイス)
  • interface型
  • Web API(のI)
  • ユーザーインターフェイス(UI)
  • コマンドラインインターフェイス(CLI)
  • etc.

本セッションのスコープとなるインターフェイスは「その全て」です。

本セッションではソフトウェア開発において意識せざるを得ないインターフェイスというものについて考えてみます。
前述したようにひとことでインターフェイスといってもさまざまな種類があります。
それぞれのインターフェイスの特性を明らかにし、それらに共通する要素を探ります。この共通点を本セッションでは「インターフェイスという考え方」と呼ぶことにします。

本セッションではソフトウェア開発において強力な武器となるインターフェイスという考え方について、私なりに言語化して共有します。

例えばテストも、名前重要も、スキーマ駆動開発も、モジュラモノリスも、CQRSも、全てインターフェイスが意識されています。
インターフェイスという考え方は、空気のように当たり前に自然と活用されている一方、意識するだけで開発に新たな視点を得られるものだと感じています。

本セッションを通じて、参加者の皆さんがインターフェイスという考え方に改めて気づき、インターフェイスを意識することで、参加者が自身の開発プロセスに新たな視点を得ることができるようになることを目指します。