前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大话设计模式笔记(五)——代理模式和工厂方法模式

大话设计模式笔记(五)——代理模式和工厂方法模式

作者头像
逝兮诚
发布2019-10-30 13:47:31
4040
发布2019-10-30 13:47:31
举报
文章被收录于专栏:代码人生

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/luo4105/article/details/76549282

这两个模式都很简单,就合并一起,简单说一下。

第七章代理模式

代理模式是用代理类来代理实现类进行操作。

在代理类的方法中调用真实的实现方法。

UML图如下

第八章工厂方法模式

简单工厂的工厂类中的增加一个工厂类就要修改工厂类的判断,违背了open-close原则。工厂方法模式是对简单方法的工厂类做一个抽象处理。

它将工厂类抽象成工厂接口,并对每一个产品类创建一个与之对应的具体工厂类。

在本书的雷锋例子中

工厂模式

工厂方法模式

工厂方法模式的调用

代码语言:javascript
复制
LeifengFactoryleifengFactory = new GraduateFactory();
Leifeng leifeng =leifengFactory.createLeifeng();
leifeng.buyOil();
leifeng.buyRice();
leifeng.washClosthes();
leifeng.cleanFloor();

总结

工厂方法模式是对工厂模式的一个改进,在工厂模式中,增加一个工厂实现类就需要修改工厂类的创建对象方法,这里违法了open-close的设计原则。工厂方法模式是对工厂类的创建方法进行抽象,抽象成工厂接口和多个工厂实现类。增加工厂类时,需要增加工厂实现类,修改客户端调用代码,这样极大的减少了逻辑处理部分修改的数量,更符合open-close的设计原则,但是添加一个工厂类需要增加对应工厂实现类,过程更加复杂。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017/08/01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第七章代理模式
  • 第八章工厂方法模式
    • 总结
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档