小编Mik*_*e A的帖子

是否有人在Python /其他语言中使用元元类/元元元类?

我最近在python中发现了元类.

基本上python中的元类是一个创建类的类.有许多有用的理由可以解释为什么要这样做 - 例如任何类的初始化.在工厂上注册类,复杂的属性验证,改变继承的工作方式等等.所有这些不仅可能而且简单.

但在python中,元类也是普通类.所以,我开始想知道抽象是否可以有效地走高,而且在我看来它可以和那样:

  • 元类对应于或实现模式中的角色(如GOF模式语言中).
  • 元元类是模式本身(如果我们允许它创建表示抽象角色的类的元组,而不仅仅是单个类)
  • meta-meta-metaclass是一个模式工厂,它对应于GOF模式分组,例如Creational,Structural,Behavioral.一个工厂,你可以描述一个特定类型的问题的案例,它会给你一组解决它的类.
  • 一个meta-meta-meta-metaclass(据我所知),是一个模式工厂工厂,你可以描述你的问题类型的工厂,它会给你一个模型工厂.

我在网上找到了一些关于这个的东西,但大多数都不是很有用.一个问题是不同的语言稍微不同地定义了元类.

有没有其他人在python /其他地方使用过像这样的元类,或者看到过在野外使用过的,还是想过它?其他语言有哪些类似物?例如,在C++中,模板递归有多深?

我非常想进一步研究它.

python design-patterns factory metaprogramming metaclass

14
推荐指数
5
解决办法
1515
查看次数

确定内存位置是否在CPU缓存中

操作系统可以确定一页存储器是在DRAM中还是在交换中; 例如,只是尝试访问它,如果发生页面错误,它不是.

但是,CPU缓存可能是同样的事情吗?

是否有任何有效的方法来判断给定的内存位置是否已加载到缓存行中,或者知道它何时这样做?

memory cpu assembly caching fault

8
推荐指数
2
解决办法
1993
查看次数