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

PHPerKaigi 2025
レギュラートーク(40分)

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

k1LoW 小山健一郎 k1LoW
4

インターフェイスと聞いて何を思い浮かべますか?

プログラミング言語に備わっているInterface(オブジェクトインターフェイス)でしょうか。
それともinterface型でしょうか。
それともWeb APIのIでしょうか。
UIのIかもしれませんね。
もしかしてCLIのIですか。

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

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

それらを並べて見ていくと、朧げながら共通点が見えてきます。本セッションではそれを「インターフェイスという考え方」と呼ぶことにします。

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

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

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