我对类型化/泛型方面做了一些研究.关于方面的一个重要事实是遗忘.因此,方面的关注点应与领域关注点正交.但是,有一些研究可以使AspectJ类型安全(StrongAspectJ)/使用泛型介绍每个类型的方面.一篇论文提到了Flyweight模式的实现.现在我想知道通用方面是否还有更多用例?
解决方法:
PostSharp的输入类型较弱,即建议将参数和返回值视为“对象”. PostSharp中有一些对泛型方面的支持(方面可以是泛型类),但是由于通知类型较弱,因此它不是很有用.
请注意,在封面后面,强烈键入了PostSharp生成的粘合代码.但是,当暴露给方面代码时,一切都被低估到一个对象上.
我正在考虑在下一个版本的PostSharp中实现强类型建议,并可能通过支持通用参数来实现.原因是运行时性能,因为将值类型装箱到对象中会带来可观的性能开销.请注意,泛型在.NET中的实现与在Java中的实现不同,因此在这两个平台上可能需要不同地讨论这一点.
如果您的论文需要任何帮助,请随时与我联系.