我刚刚开始研究域驱动设计,很可能我对实体/值的划分是错误的,所以如果是这样,请告诉我.
根据我的理解,由于其身份完全由其属性定义,因此Address是典型的值对象.根据我的理解,这意味着不应该有地址的单独的存储库或数据访问对象.
这给我带来了两难境地,因为在我的情况下,地址包含一个国家/地区,其中国家/地区具有名称和国家/地区代码,国家/地区代码列表应该从数据库中加载.
我的问题是,我该如何设计呢?我希望人们能够使用new运算符创建地址,但我不想为国家/地区创建数据访问对象,如果我这样做,我当然不希望在地址对象中添加对它的引用.
我有一些想法,但我想听听任何人的建议.