问题一:充血模型在实现上可能会带来哪些问题?
充血模型在实现上可能会带来哪些问题?
参考回答:
可能会导致代码和模型结构变得越来越复杂难懂。尤其是当业务逻辑复杂,如涉及“余额”类操作时,尽管看似很适合用充血模型表达,但实际操作中可能会导致代码难以理解。此外,随着业务迭代,模型本身可能变得极为复杂,呈现出父子模型、树状关系等特征,使得理解和维护变得更加困难。
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/625387
问题二:为什么说以模型为中心的逻辑承载会导致问题?
为什么说以模型为中心的逻辑承载会导致问题?
参考回答:
以模型为中心的逻辑承载会导致问题,主要是因为模型本身的复杂性。随着业务的发展和需求的叠加,模型可能会变得非常庞大和复杂。当需要理解或修改某个域服务的逻辑时,开发人员必须先全面理解整个模型,即使这个逻辑只涉及模型的一小部分。此外,模型的扩展性不如代码,所有共性和个性逻辑都需要在同一个模型上体现,这进一步增加了模型的复杂性。
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/625388
问题三:为什么将业务逻辑转换为实现逻辑时会变得复杂?
为什么将业务逻辑转换为实现逻辑时会变得复杂?
参考回答:
在将业务逻辑转换为实现逻辑时,由于模型本身的复杂性和臃肿性,转换过程也会变得复杂。此外,域模型到存储模型的转换并不是一套固定代码可以解决的,尤其是在性能敏感的互联网应用中。每个域服务可能需要不同的转换逻辑来优化性能,这增加了实现逻辑的复杂性。因此,开发人员需要全面理解模型、基于需求的操作逻辑以及域模型到存储模型的转换过程,才能全面掌握代码逻辑。
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/625389
问题四:在互联网应用中,为什么往往选择对存储对象进行局部修改的方式,而不是像hibernate那样的映射式保存?
在互联网应用中,为什么往往选择对存储对象进行局部修改的方式,而不是像hibernate那样的映射式保存?
参考回答:
主要是因为性能考虑。局部修改可以针对特定的数据字段进行操作,避免了不必要的数据传输和处理,从而提高了系统的响应速度和效率。而映射式保存虽然方便,但在处理大量数据时可能会导致性能下降。
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/625417
问题五:什么是“平铺直叙”的表达方式,并且它为什么比“充血模型”更易理解?
什么是“平铺直叙”的表达方式,并且它为什么比“充血模型”更易理解?
参考回答:
“平铺直叙”的表达方式是指从业务需求直接转换为逻辑计算和数据库存储指令的方法。这种方式更容易理解,因为它避免了复杂的模型设计,而是直接针对每个域服务函数的逻辑进行表达。与“充血模型”相比,“平铺直叙”方式不会每次都加载整个模型,而是只关注当前函数所需的存储对象片段,使得逻辑更加清晰和直接。
关于本问题的更多回答可点击原文查看: