前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >设计模式(一),创建模式

设计模式(一),创建模式

作者头像
写PHP的老王
发布2019-08-12 15:28:11
5980
发布2019-08-12 15:28:11
举报
文章被收录于专栏:写PHP的老王写PHP的老王

设计模式(一),创建模式(如何创建,谁创建,什么时候创建)

1、工厂模式 通过工厂类,创建不同的对象。工厂模式适合:凡是出现了大量的产品需要创建,并且具有共同的接口时,可以通过工厂方法模式进行创建。

以日志操作类为例

1)简单工厂模式,通过参数创建指定类

2) 多方法模式,通过指定方法创建指定类

3) 多个静态方法

2、工厂方法模式(Factory Method) 简单工厂模式有一个问题就是,类的创建依赖工厂类,也就是说,如果想要拓展程序,必须对工厂类进行修改。工厂方法模式,创建一个工厂接口和创建多个工厂实现类,这样一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代码。

3、单例模式(Singleton)

省去了new操作符,降低了系统内存的使用频率。

4、建造者模式(builder) 是将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。即在原有直接创建对象的过程中添加一层创建者的封装,将整个构建过程封装在一起。工厂模式的区别是:建造者模式更加关注与零件装配的顺序。 角色: 1)、Builder:给出一个抽象接口,以规范产品对象的各个组成成分的建造。这个接口规定要实现复杂对象的哪些部分的创建,并不涉及具体的对象部件的创建。 2)、ConcreteBuilder:实现Builder接口,针对不同的商业逻辑,具体化复杂对象的各部分的创建。 在建造过程完成后,提供产品的实例。 3)、Director:调用具体建造者来创建复杂对象的各个部分,在指导者中不涉及具体产品的信息,只负责保证对象各部分完整创建或按某种顺序创建。 4)、Product:要创建的复杂对象。

使用场景: 1、需要生成的对象具有复杂的内部结构。 2、需要生成的对象内部属性本身相互依赖。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-10-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 写PHP的老王 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档