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

重学 Java 设计模式:实战抽象工厂模式 - bugstack虫洞栈 #55

Closed
fuzhengwei opened this issue May 24, 2020 · 9 comments
Closed

Comments

@fuzhengwei
Copy link
Owner

https://bugstack.cn/itstack-demo-design/2020/05/24/%E9%87%8D%E5%AD%A6Java%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F-%E6%8A%BD%E8%B1%A1%E5%B7%A5%E5%8E%82%E6%A8%A1%E5%BC%8F.html

技术好就一定能写出好代码吗?不能!再漂亮的马桶放到厨房都略显尴尬!想让它们合理的出现在该有的位置上,一定要实战。

@miracle678067
Copy link

想请教一下作者,在抽象工厂的代码中,CacheServiceImpl和ICacheService好像没啥意义啊,ICacheAdapter好像就够用了吧,getProxy()方法好像不用第一个参数吧,直接拿IcacheAdapter的实现接口不就可以了吗。

@fuzhengwei
Copy link
Owner Author

想请教一下作者,在抽象工厂的代码中,CacheServiceImpl和ICacheService好像没啥意义啊,ICacheAdapter好像就够用了吧,getProxy()方法好像不用第一个参数吧,直接拿IcacheAdapter的实现接口不就可以了吗。

是这样的,这个案例描述的是当有多种redis服务使用时候,大家都在自己的工程里都定义了ICacheService,但是方法名称和入参各不相同。为了在系统升级时,不至于每个人都去修改已有方法。那么定义IcacheAdapter适配器再结合上类代理和注解的使用,就可以很轻松的替代掉原有的方法了,从而体现抽象工厂🏭的另外一种形式使用。

@HardwayLinka
Copy link

  1. 单集群代码使用中的UML图箭头应该是从Impl指向service哦嘿嘿

@HSIGAD
Copy link

HSIGAD commented Sep 11, 2020

想请教一下作者,这样子动态代理,性能会不会下降不少啊

@wxnewtouch
Copy link

用一坨代码那个,为什么实现类中调用不同的redis都已经执行了操作了,还要用redisUtil在进行一遍操作呢?

@hyjcxy
Copy link

hyjcxy commented Nov 7, 2020

这个用抽象方式代码修改量并没有减少啊?

@sarahwss
Copy link

抽象工厂为什么要引入代理和适配呀

@momocstar
Copy link

抽象工厂,只是在工厂模式基础上加一层,来进行适配。
架构师:没有什么是加一层解决不了的问题。
我说得对嘛

@taozi871052753
Copy link

这个才是工厂方法吧

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

No branches or pull requests

9 participants