我正在实现DDD存储库模式(使用对象数据库,但这对问题并不重要),并且在存储库中有一个这样的方法:
Entity save(Entity entity);
实体是一个接口。
在实现中,我创建一个代理包装接收到的实体并覆盖getter和setter(然后写入文档),然后返回它。
关键是必须仅在实体尚未代理时创建此代理,但由于ByteBuddy代理不依赖于任何ByteBuddy类,因此我不知道如何确定实体是否已经代理
了解对象是否已被ByteBuddy代理的最佳机制是什么?
答案 0 :(得分:1)
您是自己创建实例还是正在使用的库?我建议你为任何这样的实例实现一些标记接口,然后你可以执行快速而便宜的检查:instance instanceof MyProxy
。
Byte Buddy没有公开任何财产是图书馆的重要组成部分。如果存在这种依赖关系,则无法在OSGi环境中使用该库,例如。