Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create a Volo.Abp.Ddd.Domain.Shared package. #16495

Closed
maliming opened this issue May 5, 2023 · 6 comments · Fixed by #16521
Closed

Create a Volo.Abp.Ddd.Domain.Shared package. #16495

maliming opened this issue May 5, 2023 · 6 comments · Fixed by #16521

Comments

@maliming
Copy link
Member

maliming commented May 5, 2023

No description provided.

@maliming maliming self-assigned this May 5, 2023
@maliming maliming added this to the 7.3-preview milestone May 5, 2023
@hikalkan
Copy link
Member

hikalkan commented May 7, 2023

@maliming can you plaese explain why we need it and what that package will include?

@maliming
Copy link
Member Author

maliming commented May 7, 2023

Similar to Volo.Abp.Ddd.Application.Contracts, It will include the interfaces and constants.

Someone told me the Volo.Abp.Ddd.Domain package is too heavy.

@hikalkan
Copy link
Member

hikalkan commented May 7, 2023

Which interfaces? Which consts? Can you be more specific?

@hikalkan
Copy link
Member

hikalkan commented May 7, 2023

If you mean IRepository, IDomainService... for example, it is impossible to move there. Domain.Shared project's responsibility is not that. These interfaces can not be shared with clients (remember domain.shared package's purpose).

@gdlcf88
Copy link
Contributor

gdlcf88 commented May 7, 2023

Hi all. I think this package can be made for the ETO abstractions.

I was trying to revise UserEto and wanted it to support the new entity synchronizer feature (since ABP v7.1). However, the IEntityEto<Key> interface is in the Volo.Abp.Ddd.Domain package, which contains a lot of infrastructure that doesn't belong to the shared layer (such as the DomainService class).

image

If we have a new shared package like @maliming mentioned, domain-shared layer projects can no longer depend on Volo.Abp.Ddd.Domain.

@hikalkan
Copy link
Member

hikalkan commented May 7, 2023

Good point. ETO classes and interfaces can go to that new package. So, @maliming go ahead. Domain package should depend on Domain.Shared. In this way, it won't be a breaking change. Also, please add this new package to Domain.Shared project in layered templates.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants