Skip to content

💡 Discussion: Vertical Slice Architecture #413

@robertgr991

Description

@robertgr991

Feature Request Checklist

Overview

This is more of a discussion than a feature request.

What do you think about organizing the features using the architecture that is commonly known as "Vertical Slice architecture"?

The current structure is:

  • application
    • feature1
    • ...
  • domain
    • feature1
    • ...
  • infrastructure
    • feature1
    • ...
  • presentation
    • ...

The proposed structure would organize every logic of a feature in a feature folder:

  • features
    • feature1
      • application
      • domain
      • infrastructure
      • presentation
      • ...
  • domain (common shared domain logic)
  • application (common shared application logic)
  • infrastructure (...)
  • presentation (generic logic where each feature will register it's presentation components)

I think this will improve cohesion and reduce coupling by setting clear features boundaries. Each boundary can specify exactly what should be shared with other parts of the system. Having each logic of a feature in a feature root folder will also help when traversing the code and learning about what the feature has implemented.

References

Additional Info

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions