外部性与程序设计
💡
原文中文,约3400字,阅读约需9分钟。
📝
内容提要
外部性是指个人或企业行为对他人的影响,分为正外部性(如创造就业)和负外部性(如污染)。组织职责应根据外部性划分,负外部性需上级介入。该概念同样适用于程序设计,强调类或模块的内聚性,以避免负外部性影响系统性能。
🎯
关键要点
- 外部性是指个人或企业行为对他人的影响,分为正外部性和负外部性。
- 正外部性如创造就业,负外部性如污染。
- 组织职责应根据外部性划分,正外部性由下级组织负责,负外部性需上级介入。
- 在程序设计中,类或模块的内聚性应避免负外部性影响系统性能。
- 无外部性或正外部性时,类或模块应独立处理其行为,鼓励正外部性优化。
- 负外部性需上层协调,提供清晰接口以灵活处理问题。
- JPA的N+1问题是负外部性的一个例子,需通过显式加载关联对象来解决。
❓
延伸问答
外部性是什么?
外部性是指个人或企业行为对他人的影响,分为正外部性和负外部性。
正外部性和负外部性有什么区别?
正外部性如创造就业机会,负外部性如污染环境。
在程序设计中,如何处理负外部性?
负外部性需通过上层组织协调,并提供清晰接口以灵活处理问题。
什么是N+1问题?
N+1问题是指在读取一个领域对象时,JPA会为每个关联对象发送额外查询,导致性能问题。
如何避免JPA中的N+1问题?
可以通过显式加载关联对象,使用fetch join特性来避免N+1问题。
外部性对组织职责划分有什么影响?
外部性影响组织职责划分,正外部性由下级组织负责,负外部性需上级组织介入。
➡️