Comments (7)
Sure, I get that naming is hard and each layer can have its own models, but what other entities are being referred to as being part of the domain layer? I see that it includes UseCases, Entities, and Repositories, so I'm trying to find out if there's some concept I'm missing.
EDIT: I did more searching and found this on the older, non-kotlin clean repo, so perhaps this answers my question. It does seem to me, however, that since the goal of this project is education, perhaps the naming conventions could be more clear? Perhaps
MovieEntity
could beMovieData
denoting the data layer, the domain could have the canonicalMovie
orMovieEntity
and the presentation layer could beMovieView
? I'm just spitballing, but I'm trying to advocate for adopting clean and I'd like to head off any confusion if and when I have to explain these concepts to others.
Like stated here and detail explanation here for the difference. Solely, it's just naming but this convention make us a little easier to understand the architecture in the first impressions
from android-cleanarchitecture-kotlin.
Sure, I get that naming is hard and each layer can have its own models, but what other entities are being referred to as being part of the domain layer? I see that it includes UseCases, Entities, and Repositories, so I'm trying to find out if there's some concept I'm missing.
EDIT: I did more searching and found this on the older, non-kotlin clean repo, so perhaps this answers my question. It does seem to me, however, that since the goal of this project is education, perhaps the naming conventions could be more clear? Perhaps MovieEntity
could be MovieData
denoting the data layer, the domain could have the canonical Movie
or MovieEntity
and the presentation layer could be MovieView
? I'm just spitballing, but I'm trying to advocate for adopting clean and I'd like to head off any confusion if and when I have to explain these concepts to others.
from android-cleanarchitecture-kotlin.
Movie = Domain
MovieEntity = DataLayer
from android-cleanarchitecture-kotlin.
Is it the case that the "entities" or "domain" layer is the innermost ring, yet data structures are suffixed with "entity" in the data layer? If so, that seems confusing. Maybe I'm misunderstanding something?
from android-cleanarchitecture-kotlin.
@carterhudson "Naming is hard" ))
Each layer can have its own models.
from android-cleanarchitecture-kotlin.
IMHO, the current naming conventions is well-known in software engineering field. For example, Room uses Entity
annotation to annotate a class as a db entity.
However, I am confused by the MovieView
, it makes me think it is an android View
but a model in presentation layer.
from android-cleanarchitecture-kotlin.
I think both of those conventions are well-known in-general, but when you put it in the context of Clean and accompany it with graphics and illustrations of layers that are named differently, terms start to be conflated.
from android-cleanarchitecture-kotlin.
Related Issues (20)
- Suspending version of the fold operator?
- RUN migration-to-hilt Crash ? HOT 1
- Question: How to use Android Framework features that rely on Activities, BroadcastReceivers, etc HOT 2
- Q1
- Questions: How to combine multiple UseCase? HOT 4
- Question: Why use Either instead of just throwing exceptions? HOT 1
- MovieDetailsViewModelTest always passed HOT 1
- GlobalScope in UseCase layer is antipattern? HOT 2
- How to auto cancel UseCase job when the ViewModel is destroyed HOT 4
- Question : How to tidy up the different data models in each feature.
- Hot observable with asyc.
- onResult() performance!
- Support for Kotlin Multiplatform
- Data organization
- UseCase Without return Value HOT 2
- Other options for entity mapping? HOT 1
- Best place for input validation? HOT 4
- How to handle REST and GraphQL? HOT 1
- How to put few call api to usecase ? HOT 10
- How to merge multiples repositories response in the use case HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from android-cleanarchitecture-kotlin.