Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v0.x project management #3

Open
oldratlee opened this issue May 2, 2023 · 1 comment
Open

v0.x project management #3

oldratlee opened this issue May 2, 2023 · 1 comment

Comments

@oldratlee
Copy link
Member

No description provided.

@oldratlee
Copy link
Member Author

oldratlee commented May 2, 2023

Below discussions are Chinese, need be rewritten by English later 💕


various proxies/wrappers in Java

Java有繁荣的代理库,如

  • jdk的proxy
  • cglib
  • spring的大量有业务功能的代理

这些代理(AOP)因为没有 wrapper(链)规范,不透明。
这里的不透明是指,代理所加强的功能是什么、underlying instance是什么。

因为wrapper(链)不透明,

  • 对于基础框架,潜在的重复修饰是个问题
  • 业务的使用排查也会带来不便利

这些AOP代理的业务能力增加,作为实现者 是可以反向识别(即功能是什么、underlying instance是什么)

wrapper规范 应该通过SPI 加载 不同的识别功能,完善已有wrappers实现的wrapper链。

wrain现在的实现(v0.3.0)只是识别能力(即SPI要扩展的功能)的缺省实现,
即能识别 直接继承了Wrapper规范接口了实现

命名

对了,这个库的命名,可以模仿reactive streams,命名成inspectable-wrappers

为什么不命名成 chainable wrappers
因为用不用这个库,实际 wrappers 都是 chained的。

规范

  • 心里是觉得可以把这个放到java规范里
  • 哈哈,我看了代码,真的和 reactive很像啊
    • 一套小巧而实用的规范啊,连attch都想到了,很贴心啊
  • 有理念,有规范,然后再来个有实现

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

1 participant