我一直在看IronPython项目和Orchard CMS项目的源代码。IronPython 使用名为 Microsoft.Scripting.Hosting.Shell(DLR的一部分)的命名空间进行操作。Orchard 项目还在各种接口(IShellContainerFactory、IShellSettings)中间接使用“外壳”的概念进行操作。
上面提到的所有项目都没有详尽的文档,因此如果您试图通过阅读源代码来了解整个应用程序结构/架构,那么从其名称中获取类型(类等)的含义非常有价值。
现在我想知道:这个源代码的作者在提到“shell”时有什么想法?当我听到“shell”这个词时,我会想到命令行解释器之类的东西。这对 IronPython 来说是有意义的,因为它有一个交互式解释器。但对我来说,这对于 Web CMS 没有多大意义。
当我遇到一种叫做“外壳”的东西时,我应该怎么想?一般而言,“外壳”的角色和责任是什么?这个问题还能回答吗?“外壳”的含义是主观的(使该术语无用)吗?
谢谢。