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

Application Logic #36

Closed
Trikke opened this issue Jul 23, 2015 · 1 comment
Closed

Application Logic #36

Trikke opened this issue Jul 23, 2015 · 1 comment

Comments

@Trikke
Copy link

Trikke commented Jul 23, 2015

First off, this is not a bug report, but more an architectural inquiry.

While your project and blog give out perfectly suitable outlines to make a data-centric app, i'm wondering about where you'd put application specific logic, for instance an android specific location provider. I'd think that a user presses a button "get current location", which through the presentation layer, fires of a use case in the domain logic. Which in turn would have a reference to that location provider, gather data and then return a formatted response back up to the user.

Should that location provider also be in the data layer, since it's about location data? Or would it be correct to assume that, since the location provider is specific to the platform and application, you'd want to create another sub-project application and reference it in the domain layer. The application layer would then hold things like the location provider, notification manager, logging framework and so on.

I'd like to hear your input in this matter.

@android10
Copy link
Owner

I think both approaches you are mentioning are valid. I would not create another module cause it generates much more noise unless your location logic is complex, so in that case I would extract it to another module.
I'm gonna work on a more real case soon applying this approach and will open source it.

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

No branches or pull requests

2 participants