设计模式学习总结(2) 工厂模式

2014-11-24 10:57:10 · 作者: · 浏览: 2

本系列主要记录设计模式的意图是什么,它要解决一个什么问题,什么时候可以使用它;它是如何解决的,掌握它的结构图,记住它的关键代码;能够想到至少两个它的应用实例,一个生活中的,一个软件中的;这个模式的优缺点是什么,其有哪些使用场景,在使用时要注意什么。


工厂模式

意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行
主要解决:主要解决接口选择的问题
什么时候使用:我们明确的计划不同条件下创建不同实例时

如何解决 :让其子类实现工厂接口,返回的也是一个抽象的产品

结构图:

\

关键代码:创建过程在其子类执行
应用实例:1.你需要一辆汽车,你可以直接从工厂里面提货,而不用去管这辆汽车是怎么做出来的,以及这个汽车里面的具体实现 2.Hibernate换数据库只需换方言和驱动就可以< http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+08W146O6MS7Su7j2tffTw9Xfz+u0tL2o0ru49rbUz/OjrNa70qrWqrXAxuTD+7PGvs2/ydLUwcsgMi7AqdW50NS436OsyOe5+8/r1Pa809K7uPay+sa3o6zWu9KqwKnVudK7uPa5pLOnwOC+zb/J0tQgMy7GwbHOsvrGt7XEvt/M5cq1z9ajrLX308PV39a7udjQxLL6xre1xL3Tv9o8L3A+CjxwPsixteOjusO/tM7U9rzT0ru49rL6xrfKsaOstrzQ6NKq1Pa809K7uPa+38zlwOC6zbbUz/PKtc/WuaSzp6Osyse1xM+1zbPW0MDgtcS49sr9s8mxttT2vNOjrNTa0ru2qLPMtsjJz9T2vNPBy8+1zbO1xLi01NO2yKOszazKsdKy1Pa808HLz7XNs77fzOXA4LXE0sDAtaGj1eKyorK7ysfKssO0usPKwqGjPC9wPgoKCgoKCgo8cD48L3A+CgoKCgoKCjxwPsq508Ozob6wo7oxLsjV1r68x8K8xvejurzHwry/ycTcvMfCvLW9sb612NOyxcyhos+1zbPKwrz+oaLUtrPMt/7O8cb3tcijrNPDu6e/ydLU0aHU8bzHwrzI1da+tb3KssO0tdi3vaGjMi7K/b7dv+K3w87Ko6y1sdPDu6eyu9aqtcDX7rrzz7XNs7LJ08PExNK7wODK/b7dv+KjrNLUvLDK/b7dv+K/ycTc09Cx5LuvyrEzLsnovMbSu7j2way907f+zvHG97XEv/K83KOs0OjSqsj9uPbQrdLpo6w="POP3", "IMAP", "HTTP",可以把这三作为产品类,共同实现一个接口

注意事项:作为一种创建类模式,在任何需要生成复杂对象的地方,都可以使用工厂方法模式。有一点需要注意的地方就是复杂对象适合使用工厂模式,而简单对象,特别是只需要通过new就可以完成创建的对象,无需使用工厂模式。如果使用工厂模式,就需要引入一个工厂类,会增加系统的复杂度。