I'm reading chapter 20, "Business Rules", of clean architecture book, in this chapter Uncle Bob defines entities as:
An Entity is an object within our computer system that embodies a small set of critical business rules operating on Critical Business Data. The Entity object either contains the Critical Business Data or has very easy access to that data. The interface of the Entity consists of the functions that implement the Critical Business Rules that operate on that data.
I understand that entities are domain objects that could be used in any context of the application because it's "self-sufficient" with its own rules and validations, but what about objects that do not have "strong" and "critical" business rules that could be used in any context? just simple data holders, anemic classes, are they considered domain objects? can use-cases be coupled to them just like it is to entities?
A simple example of a specific scenario:
I have a Use Case to create blog posts with images, in which the user can send URLs of images uploaded on an amazon s3 server, and in the back-end there's a check to see if the provided URLs are valid, if so the post is created with these images URLs.
On the Use Case, for the URL check I use the Amazon S3 API encapsulated as a generic adapter, something like
ImageStorageAdapterInterface with the method
getImageByUrl(), which returns a simple object with metadata such as
size, and so...
I could have considered this object as an entity and name it something like
TemporaryImageUrl, but I couldn't see this particular object as an entity because it is not an object with "critical business rules", but just a simple "auxiliary" object, with very few methods (if any) and I don't think this object meets uncle bob's definition of an entity.
I know that a lot of things are subjective and depend on the context, but this dilemma is very common on a daily basis.
What are these kinds of objects that do not fit as an entity?
Should I always try to find a common ground on my domain and "extract" an entity of these cases?
Could this still be considered as a domain object (even if it's simple)?