Slide 16
Slide 16 text
レイヤごとに不適切な依存がないか確認する
• レイヤごとに依存してよいライブラリは異なる。よって、レイ
ヤごとに許容しているライブラリをルートして定義する
16
@ArchTest
static final ArchRule dependency_webapi = classes()
.that()
.resideInAPackage(“..webapi..”) // webapiパッケージ内のクラスは
.should().onlyDependOnClassesThat() // 指定されたクラスにのみ依存すべき
.resideInAnyPackage( // その指定は次にあげるパッケージのクラス
"java..",
"lombok..",
"org.springframework.web..", // Spring MVCには依存してOK
"org.springframework.http..", // Spring MVCには依存してOK
"..domain..",
"..application..",
"..webapi.." //
);
webapiパッケージ内でここに示したパッケージ以外のクラスに
対して依存がある場合はエラーとなる
<interface(webapi)レイヤの場合>