On 2017-10-12 00:36, Stéfane Fermigier wrote: > "An object that is not defined by its attributes, but rather by a thread of > continuity and its identity." (from > https://en.wikipedia.org/wiki/Domain-driven_design#Building_blocks) Not sure I follow all this, but Python objects do have identities once instantiated. e.g. >>> id('') > See also the more general Wikipedia definition "An entity is something that > exists as itself, as a subject or as an object, actually or potentially, > concretely or abstractly, physically or not." > (https://en.wikipedia.org/wiki/Entity). > > In the context of DDD, entities are usually opposed to value objects: "An object > that contains attributes but has no conceptual identity. They should be treated > as immutable.". (https://en.wikipedia.org/wiki/Domain-driven_design#Building_blocks) > > Attrs, and by extension the dataclass proposal (I guess), provide some support > for both: > > - Providing support for quickly constructing immutable objects from a bag of > attributes, and providing equality based on those attributes, it helps implement > Value Objects (not sure much more is needed actually) > > - By supporting equality based on some "primary key", it will also help with > maintaining the concept of "equality" in entities. I don't believe either module particularly supports or restricts immutability? -Mike
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4