package Ġno . nav . kl age . k aka Ċ Ċ import Ġcom . t ng tech . arch unit . core . importer . Import Option Ċ import Ġcom . t ng tech . arch unit . junit . Analyze Classes Ċ import Ġcom . t ng tech . arch unit . junit . Arch Test Ċ import Ġcom . t ng tech . arch unit . lang . Arch Rule Ċ import Ġcom . t ng tech . arch unit . library . Arch itect ures . layer ed Architecture ĊĊ Ċ @ Analyze Classes ( packages Ġ= Ġ[" no . nav . kl age . k aka "], Ġimport Options Ġ= Ġ[ Import Option . DoNot Include Tests :: class ]) Ċ class ĠLayer ed Architecture Test Ġ{ ĊĊĠĠĠ Ġfun Ġk aka Api Layer ed Architecture () Ġ= Ġlayer ed Architecture () ĊĠĠĠĠĠĠĠ Ġ. layer (" Controllers "). defined By (" no . nav . kl age . k aka . api ") ĊĠĠĠĠĠĠĠ Ġ. layer (" View "). defined By (" no . nav . kl age . k aka . api . view ") ĊĠĠĠĠĠĠĠ Ġ. layer (" Services "). defined By (" no . nav . kl age . k aka . services .. ") ĊĠĠĠĠĠĠĠ Ġ. layer (" Repositories "). defined By (" no . nav . kl age . k aka . repositories .. ") ĊĠĠĠĠĠĠĠ Ġ. layer (" Config "). defined By (" no . nav . kl age . k aka . config .. ") ĊĠĠĠĠĠĠĠ Ġ. layer (" Domain "). defined By (" no . nav . kl age . k aka . domain .. ") ĊĠĠĠĠĠĠĠ Ġ. layer (" Util "). defined By (" no . nav . kl age . k aka . util .. ") ĊĠĠĠĠĠĠĠ Ġ. layer (" Exceptions "). defined By (" no . nav . kl age . k aka . exceptions .. ") ĊĊĠĠĠ Ġ@ Arch Test ĊĠĠĠ Ġval Ġlayer _ dependencies _ are _ res pect ed _ for _ controllers : ĠArch Rule Ġ= Ġk aka Api Layer ed Architecture () ĊĠĠĠĠĠĠĠ Ġ. where Layer (" Controllers "). may Only Be Ac cessed By Layers (" Config ") ĊĊĠĠĠ Ġ@ Arch Test ĊĠĠĠ Ġval Ġlayer _ dependencies _ are _ res pect ed _ for _ view : ĠArch Rule Ġ= Ġk aka Api Layer ed Architecture () ĊĠĠĠĠĠĠĠ Ġ. where Layer (" View "). may Only Be Ac cessed By Layers (" Controllers ", Ġ" Services ", Ġ" Config ") ĊĊĠĠĠ Ġ@ Arch Test ĊĠĠĠ Ġval Ġlayer _ dependencies _ are _ res pect ed _ for _ services : ĠArch Rule Ġ= Ġk aka Api Layer ed Architecture () ĊĠĠĠĠĠĠĠ Ġ. where Layer (" Services "). may Only Be Ac cessed By Layers (" Controllers ", Ġ" Config ") ĊĊĠĠĠ Ġ@ Arch Test ĊĠĠĠ Ġval Ġlayer _ dependencies _ are _ res pect ed _ for _ persistence : ĠArch Rule Ġ= Ġk aka Api Layer ed Architecture () ĊĠĠĠĠĠĠĠ Ġ. where Layer (" Repositories ") ĊĠĠĠĠĠĠĠ Ġ. may Only Be Ac cessed By Layers (" Services ", Ġ" Controllers ", Ġ" Config ") Ċ Ċ }