# architecture > Guidelines for application structure and dependency management. - Author: Andrew Howden - Repository: andrewhowdencom/skills - Version: 20260126175023 - Stars: 2 - Forks: 0 - Last Updated: 2026-02-06 - Source: https://github.com/andrewhowdencom/skills - Web: https://mule.run/skillshub/@@andrewhowdencom/skills~architecture:20260126175023 --- --- name: architecture description: Guidelines for application structure and dependency management. --- # Architecture ## Hexagonal Architecture For complex applications (clients, datastore, state), use [Hexagonal Architecture](https://alistair.cockburn.us/hexagonal-architecture). ## Dependency Management - **Initializers**: Create dependencies with sane defaults. - **Optional Arguments**: Use the **Functional Options Pattern** (variadic args) for optional configuration. See [Languages](../languages/SKILL.md) for implementation details.