want to do Domain / Repository What business/software want to do Infrastructure How software is implemented Data Layer API input / output (xml, json, protobuf, ...) Persistent storage format (DB schema, File format, ...) On memory structure Controller (IDL definition) Deserialized API input / output UI What end user want to do Translator Translator Are there too many layers?