フレームワーク依存による潜在リスクをgRPCで強引に脱却する by 塚本 久博

Object-Oriented Conference 2020
ショートセッション

フレームワーク依存による潜在リスクをgRPCで強引に脱却する

hihats 塚本 久博 hihats
1

ActiveRecordパターン + MVCのような設計パターンにおいて、たとえばFormとDBテーブルの1レコードを1:1の密結合とすることを是としている場合、「その後の変更をクラス内で閉じたい」という私達の欲求は叶えられなくなっていきます。
さらに、多くの開発者に使われるWebアプリケーションフレームワークであればあるほど、各々の開発者がキャリアの中でそれまで積み上げたサービスオブジェクトの定義があり、それが形式知化されないまま開発が進んでいったりします。
そうなると、本来同じところにいるはずのクラスの役割が、どうしても異なるレイヤーに散らばりがちで、コードの見通しが悪くなる。さらにそれをルールで縛ることによる軋轢が生まれてしまうこともあります。

そもそもクラス設計をルールで縛ったところで、それが守られる保証もありません。「スピード優先」というお題目により蔑ろにされることもしばしば目にしてきました。

これは私たちが常に頭を抱えがちな問題ですが、そこでgRPCを利用することによって、強制的にAPIの出力(protocol buffer)をドメインオブジェクトと一致させ、「技術的にコードが複雑さを持ちにくくすること」と、「開発者間の齟齬をなくす」という両方の問題を解消できる可能性を提示してみます。

【メインとなる対象層】

  • 開発現場で、オブジェクト指向設計に対する考え方のミスマッチで困っている
  • チーム内のエンジニアの経験年数の差や設計スキルの差が大きくて標準化のコストが高い
  • マイクロサービスアーキテクチャに興味あるけどどこから手をつけるかわからない