随笔分类 -  设计模式

学习了《大话设计模式》后,做出的学习小结
摘要:建造者模式(Builder):将一个复杂对象的构造与它的表示分离,使得同样的构建过程可以创建不同的表示。 简单理解就是本质一样的,但是表现出来的样子不一样。就好比如人,有高的,矮的,瘦的,胖的,但是不管外面的表现是什么样子的,唯一肯定一样的就是都是人 建造者模式就是为了工作流程所有的步骤都不漏掉。 阅读全文
posted @ 2017-09-21 17:34 七月蜀葵 阅读(200) 评论(0) 推荐(0)
摘要:思考:在IBuyWatermelon添加一个方法selectWatermelon() 静态代理中需要在RealSubject中实现该方法,而且Proxy也要实现该方法调用RealSubject中的实现,如果再增加10个方法还是得这样操作,导致大量的代码重复。 现在来看动态代理(顾名思义,是在运行时才 阅读全文
posted @ 2017-09-21 16:11 七月蜀葵 阅读(156) 评论(0) 推荐(0)
摘要:静态代理模式,为其他对象提供一种代理来控制对这个对象的访问。 代理,顾名思义,就好比如明星的经纪人可以代理他处理一些业务上的事情,再比如你领取快递,几乎都是通过一些代理点领取,应该没人到总部领取吧。 UML: 共用的接口(Subject):RealSubject和Proxy的共用接口 RealSub 阅读全文
posted @ 2017-09-21 14:07 七月蜀葵 阅读(179) 评论(0) 推荐(0)
摘要:现在SportsEquipmentFactory使用反射,不用switch判断 代码与上篇文章“抽象工厂模式”类似,只改动了SportsEquipmentFactory的代码 SportsEquipmentFactory client端的调用 输出 思考:如果业务又做大,工厂又需要生产网球类的产品 阅读全文
posted @ 2017-09-21 11:23 七月蜀葵 阅读(268) 评论(0) 推荐(0)
摘要:思考:工厂方法模式:http://www.cnblogs.com/maggiejyt/p/7561253.html 工厂方法模式UML: 问题:如果这家工厂不止要生产Ball(球),还要还有Sneakers(球鞋)等 则UML图为 当Product有多种类时则是抽象工厂模式 代码(Ball的代码见简 阅读全文
posted @ 2017-09-20 17:01 七月蜀葵 阅读(142) 评论(0) 推荐(0)
摘要:工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 (简单理解就是比简单工厂模式多了一个抽象工厂,还有各种实例工厂)解决了简单工厂模式违背了开放-封闭原则的缺点 简单工厂模式在上一篇文章:http://www.cnblogs.com/maggi 阅读全文
posted @ 2017-09-20 15:21 七月蜀葵 阅读(255) 评论(0) 推荐(0)
摘要:简单工厂模式(Simple Factory Pattern)又叫静态工厂方法模式(Static FactoryMethod Pattern) :由一个工厂类根据传入的参数动态决定应该创建哪一种产品(产品类)。 UML图: 工厂角色(Factory)-->SimpleFactory:创建所需要的产品对 阅读全文
posted @ 2017-09-20 13:57 七月蜀葵 阅读(198) 评论(0) 推荐(0)
摘要:单例模式(Singleton),保证一个类仅有一个实例,并提供一个访问它的全局访问点。(让类自身责任保存它的唯一实例) 单例模式确保对象只有一个,例如数据库连接池或者线程池,只需要一个,不需要new很多,但是要考虑线程安全的问题。 结构图 要点: 1.利用static的特性,static的属性和方法 阅读全文
posted @ 2017-09-20 10:32 七月蜀葵 阅读(139) 评论(0) 推荐(0)