Problems with multiple modules using a Application/Core layer?
See original GitHub issueOur team intends to use abp to reconstruct our system.
However, we encountered a problem we do not know how best practices.
Our project has two modules: user center and management center.
For example, in our Application layer below:
void CreateUserResume (CreateUserResumeInput input);
We need two similar methods, one for the user center to use, one for the management center to use,
a lot like this approach. (Because the parameters of the method and the return value may be different.)
In the future may also increase ios android.
We thought about the following way:
Void CreateUserResumeAdmin (CreateUserResumeAdminInput input);
Void CreateUserResumeUser (CreateUserResumeUserInput input);
Void CreateUserResumeIOS (CreateUserResumeIOSInput input);
Void CreateUserResumeAndroid (CreateUserResumeAndroidInput input);
But feel is not a best practice
In this case the Application layer and the Core layer approach how to deal with?
thank you very much!
Issue Analytics
- State:
- Created 7 years ago
- Comments:9 (9 by maintainers)
Top Results From Across the Web
Separating Application (Business Logic) Layer to Multiple ...
Since the project is pretty huge, I'm now considering to separate the Application Layer into Multiple Module Layers. For e.g. Application.
Read more >Modules on the same layer in layered architecture
In theory in layered architecture you can have multiple modules on the same layer. Can this modules cross reference to each other? Is...
Read more >Common web application architectures
Architect Modern Web Applications with ASP.NET Core and Azure | Explore the common web application architectures.
Read more >Layered Architecture with ASP.NET Core, Entity ...
In this article we will show how to Create Layered Application with performing CRUD operations on ASP.NET Core Web application using Entity ......
Read more >Hexagonal Architecture, there are always two sides to ...
The goal of traditional Layered Architectures is to segregate an application into different tiers, where each tier contains modules and ...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
I think application layer should be platform as platform agnostic as possible. How ever, if you still need specific methods for your specif platform what you can do is create an Application module for each platform example:
YourProject.Application.IOS YourProject.Application.Android YourProject.Application.Desktop
And share a common project with common base classes
YourProject.Application.Common so that you cam reuse your code. However I still think the best approach could be to make your application layer as platform agnostic as possible for example instead of doing
Void CreateUserResumeUser (CreateUserResumeUserInput input); Void CreateUserResumeIOS (CreateUserResumeIOSInput input); Void CreateUserResumeAndroid (CreateUserResumeAndroidInput input);
Make CreateUserResumeUserInput have a property called
Public string Platform { get; set; }
El El jue, 15 de diciembre de 2016 a la(s) 9:44 p.m., maliming < notifications@github.com> escribió:
@hikalkan Very grateful, next week we will try!