📖

DDDの腐敗防止層(ACL)って?

2023/05/15に公開

腐敗防止層(ACL:Anti Corruption Layer)とは

一言で言うと、
「他システムとの統合における変換層」

もう少し説明を加えると、
「外部から取得したデータを、こちらの都合がいい綺麗な構造のオブジェクトに変換してくれるもの」

なんで必要なの

外部システムは、自システムと同じ概念ドメインモデルを使用しているとは限らない。
詰め替えの層を挟むことで、外部システムの変更に対して自システムへの影響を防ぎやすくなる。

ACLはどうやって実現する?

ACLは主に下記3つで構成されている。

  1. 外部サービスから情報を取得するためのClient
  2. 取得した値を変換するtranslator
  3. 変換されたものをラップするadaptor

参照

https://zenn.dev/nyamage/scraps/660c33d6bc16ba

https://twitter.com/little_hand_s/status/1191491541790937088

Discussion