FAQ
Q. ViewやControllerに処理が集中しているとAPI化が困難になるのはなぜですか?
APIにはアプリケーションと外部のアプリケーションを連携させる場合等に使われ必要最低限のデータの入出力機能が実装されている必要があります。表示処理を担うViewや、入力制御を行うControllerにビジネスロジックが混在している状態の場合、API化の前にロジックの分離が必要となります。
この項目はアンチパターンです。「はい」は0点、「いいえ」は1点になります。
APIにはアプリケーションと外部のアプリケーションを連携させる場合等に使われ必要最低限のデータの入出力機能が実装されている必要があります。表示処理を担うViewや、入力制御を行うControllerにビジネスロジックが混在している状態の場合、API化の前にロジックの分離が必要となります。
簡単に言うと、API駆動開発は「営業部門の顧客対応マニュアル」のようなものです。営業担当者が顧客からの問い合わせに対して標準化された手順書に沿って対応することで、担当者が変わっても一貫したサービス品質を維持でき、新人でもマニュアルに従えば適切に業務を遂行できます。さらに、電話・メール・チャット・対面など、問い合わせ経路が増えても、同じマニュアルを参照することで対応の統一性を保てます。システム間の連携を担うAPIも同じで、明確に定義されたインターフェース仕様により、各システムが独立して進化しながら、新しい連携先との接続も容易に実現できるのです。
カテゴリ解説を読む