问题一:为什么数值、状态等多变的字段建议不要跨单据冗余?
为什么数值、状态等多变的字段建议不要跨单据冗余?
参考回答:
数值、状态等多变的字段建议不要跨单据冗余,因为冗余可能导致数据一致性问题。如果在两个单据上都冗余了相同的字段,如金额或状态,那么在任何更新这些字段的逻辑中,都需要同时更新这两个单据。这不仅增加了不必要的复杂性,而且可能导致数据不一致,特别是在没有使用事务来确保两个单据上的数据同时更新的情况下。因此,为了避免这些问题,建议不要在多个单据间冗余多变的字段。
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/621587
问题二:为什么要对客表达和系统实现进行解耦?
为什么要对客表达和系统实现进行解耦?
参考回答:
因为用户侧的表达通常基于系统里的模型数据,但用户看到的一些点并不需要100%落实到系统实现中去。通过抽象和转换,我们可以将用户看到的数据与系统内部的数据模型进行映射,而不是直接暴露系统内部的复杂性给用户。这样做可以使系统实现更加灵活和可扩展,同时提供更好的用户体验。
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/621588
问题三:架构如何让代码组织更有序?
架构如何让代码组织更有序?
参考回答:
因为它提供了对代码结构进行规划的原则和指导。在设计阶段,我们可以考虑相关业务逻辑的代码应该放在哪里,提炼出一些原则来指导代码的组织。这样可以避免代码乱放、公共代码和差异化代码的混乱问题。通过合理的架构规划,我们可以使代码结构更加有序、清晰和易于维护。
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/621589
问题四:为什么需要把在线业务逻辑和批处理任务切分开?
为什么需要把在线业务逻辑和批处理任务切分开?
参考回答:
因为批处理任务可能会导致机器负载增加,从而影响在线接口的响应速度。此外,批处理任务通常是异步的,并且可以重复运行,而在线业务逻辑需要实时响应并避免中断或在指定时间内无法反馈的情况。将两者分开可以确保在线业务逻辑的稳定性和响应速度,并提高系统的整体性能。
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/621590
问题五:为什么不建议把太多的业务逻辑放在前端?
为什么不建议把太多的业务逻辑放在前端?
参考回答:
因为对客的页面渲染和用户操作的交互逻辑更适合放在前端处理,而流程的控制应该全部放在后端进行。如果前端包含过多的业务逻辑,那么运行情况将难以监控,并且一旦出现问题需要查看客户端的运行情况,这将增加排查问题的难度。此外,将业务逻辑放在后端可以更容易地通过后端链路看清楚整体的业务流程。
关于本问题的更多回答可点击原文查看: