**上午看了一会java反射和代理,然后去银行办了一张卡,这里记下一点小感悟。
场景:我们去银行办业务时候,柜台上会放置两个小盒子,一个用来输入密码,一个用来业务办完后对服务人员进行评价。现在假设,银行要增加其他功能,比如在办卡同时绑定支付宝,会给予用户一定优惠(这里只是假设,可能不合理,这里只是作为例子,各位看官不要纠结于这个业务是否合理)。那么现在那个输入密码和评价的小匣子已经不能满足需求了,需要再增加小匣子才行。如果银行又增加了N个业务呢,是不是需要增加N个小匣子,显然不合理。那要怎么办呢。
解决方案:在柜台上放置一个触摸板,当用户需要输入密码时,弹出输入密码的界面读取用户密码,当需要用户评价时,弹出评价界面读取用户评价,同理,在触摸板开发出相应的app来对应银行现有和扩展的业务,这样就不用增加小匣子了。
总结:java反射机制和代理应用了同样的原理,在程序运行时动态的加载需要的类、方法、字段,属性等。这样就避免了硬编码,提高了程序的灵活性。spring的IOC就应用了java的反射机制。
不知道各位看官看懂没。如果没懂,或者有不理解的地方,欢迎留言讨论。**
时间: 2024-11-05 19:03:38