知识卡片
类型与实例分属不同视图类型
内容
组件”类型”存在于模块视图类型(源代码直接定义,编译期就能看到),组件”实例”存在于运行时视图类型(程序运行前不存在)——这解释了为什么看着组件类型容易,想象对应的组件实例却不容易:二者分属不同视图类型,跨类型对应本来就难。这和类与对象的关系完全一致:读源代码只能看到类的声明,对象要等程序运行时才被创建,同样的道理迁移到组件层面依然成立。
参考来源
- 位置:《恰如其分的软件架构》第9章《设计模型》9.6.3节《不同视图类型中的类型和实例》(源文件:_epub-src/OEBPS/text00090.html)
- 结论依据:原文说明组件类型存在于模块视图类型、组件实例存在于运行时视图类型,二者是不同视图类型,并用类与对象的关系类比说明源代码只能看到类的声明,对象要在程序运行时才被创建。
- 原始内容:组件类型存在于模块视图类型中,组件实例存在于运行时视图类型中……当你看源代码的时候,只能看到类的存在,因为编程语言中直接定义了它们。相反,你不能直接看到类实例(即对象),因为,在程序运行前,它们还没有被创建。