最近我开始注意到我的一些代码中有重复。当然,一旦你注意到重复,它就会变成光栅。这就是为什么我问这个问题。这个概念是否有一个术语,它是否存在于静态类型语言中?
想法是这样的:有时你写同一类的不同版本:原始版本,锁定版本,只读外观版本等。这些是对类的常见事情,但翻译是机械强度高。使用锁定获取/释放等方法来环绕所有的方法。在动态语言中,你可以编写一个函数,这个函数对一个类的实例做了这样的事情(例如迭代所有的函数,用一个获取/释放锁。)。
我认为我的意思是一个很好的术语是'反映阶级'。你创建一个接受一个类的转换,并返回一个想要修改的类。同步是最简单的情况,但还有其他一些:使一个类不可变[包装方法,以便它们克隆,变异克隆,并将其包含在结果中],使类只读[假定您可以识别变异方法],创建一个类似乎与类型A而不是类型B一起工作等。
重要的部分是,理论上这些转换在编译时是有意义的。即使ActorModel具有依赖于T而改变的方法,但它们以在编译时可知的特定方式依赖于T(ActorModel <T >方法将返回原始结果类型的未来)。
我只是想知道这是否已经实现了一种语言,它叫什么。
它听起来很相似,涵盖了一些情况。但是,使用方面,我可以参加一个班,让方法返回期货而不是正常值吗? – 2010-05-13 15:55:30
您通常不能用AOP更改返回类型,有一点重要的是使用它的代码不知道这些方面。 – 2010-05-26 13:10:21