Ideas

Give us your best ideas!

Separate domain and implementation in Accelerator solution

The Litium platform has separated domain models (Abstraction projects) from the implementations (Application projects) in separate nuget packages so that i only need dependencies on the Abstractions. But the Accelerator has both abstract classes and their implementation in the Litium.Accelerator-project reducing the benefit of this separation.

Currently when I want to add custom code to a new project I am basically required to place all custom code in the accelerator project, I would prefer to place my solution specific code in a separate class library for clear separation and better reusability - but this is basically impossible without getting circular dependencies (since I want to consume services in the accelerator project and at the same time create features that the Accelerator should use).

Suggested new solution setup:

  • Litium.Accelerator.Abstractions (all interfaces and abstract classes for accelerator and custom)
  • Litium.Accelerator.Application (only implementations of interfaces and abstract classes)
  • Custom.Application (or similar name, empty project to hold custom code)
  • Mårten Wahlund
  • Feb 7 2020
  • Reviewed
  • Attach files
  • Admin
    Ludvig Block commented
    March 17, 2023 12:44

    Hi,

    I understand now that you are asking about the backend part of the MVC Accelerator. There is no plan to re write that part of the MVC accelerator right now.

    Regards,

    Ludvig

  • Mårten Wahlund commented
    December 16, 2022 09:08

    This requirement will not be solved by headless, this separation is backend only, or will the backend for headless be rewritten to solve this?

  • Admin
    Ludvig Block commented
    December 16, 2022 08:53

    Hi Mårten!

    I believe this ability will be in place with the new headless Accelerator architecture. That's the reason why this idea is set to Planned.