【发布时间】:2011-03-30 04:34:50
【问题描述】:
我最近一直在思考如何以分层方式组织代码。我一直在考虑四种不同的方式:
- 实例化——具体来说,对象是类的实例。但是,在几种语言(如 python)中,类也是从元类实例化的对象。因此,您最终可以得到一个对象的实例堆栈。
- 继承——你最终会得到一堆超类。即使您有多重继承,您最终也可能有办法将其转换为堆栈(如 python 中的 MRO)。
- 命名空间——范围通常也是分层的。
- 调用——调用堆栈在概念上可能是最熟悉和最古老的。它是编程的支柱。
您可能会争辩说,实例化只是一种不同类型的调用堆栈,而继承只是另一个命名空间堆栈,但不管这些都是我的想法。
那么有没有人有任何其他适合这里的概念堆栈,或者调用和命名空间是否总结了所有这些?还有其他想法吗?
【问题讨论】:
-
我不明白这个声明:“你可以说实例化只是一种不同的调用堆栈,而继承只是另一个命名空间堆栈,但不管这些都是我的想法”。据我所知,这些概念是正交的。如果您能解释它们为何相似的逻辑,将对讨论有所帮助。
标签: namespaces scope callstack