There is a complexity cost in implementing this structure which will be more obvious in type-declared languages than in dynamic or type-inferred languages

  • in type-declared language, you must declare required interfaces (apps, ports, actors, adapters)
  • you will also need an additional folder structure for the port declaration.
  • for many more layers you add you have also to do mapping between different layers.