摘要:
前言:本篇涉及的代码由C#语言描述,但并不妨碍其他语言的面向对象设计师阅读,旨在理解O/RM延迟加载的原理,减少开发者出现由O/RM引起的性能问题时大叫“怎么会这样?”的几率。本篇并不会详细介绍代理模式,也不详细介绍延迟加载,因为这并不是本篇的重点。本篇随笔的重点是帮助理解延迟加载的原理,透过这个原理,我们将会知道为什么Nhibernate(O/RM)的领域模型的成员都需要加上virtual关键字,也能更好地理解Nhibernate的延迟加载(当然我相信很少会不借助框架而纯手工去实现延迟加载)。我们先来看一个非常简单的例子:这个Class1我就暂且当它是一个领域模型,属性Name是我们需要观察 阅读全文