PHP设计模式学习

发现了这个写的好好,

https://designpatternsphp.readthedocs.io/zh_CN/latest/README.html

啧。。感觉没有再重复写的必要了。就简单在这里写写理解吧。以下都是较为简单的涉猎了下写的理解,可能有不对的地方。。

学习源码:

https://github.com/DesignPatternsPHP/DesignPatternsPHP


抽象工厂模式

个人理解:

使用对应工厂类(Factory)实例化对应的内部类,基本上是一个工厂类对一个内部类,避免在外部直接实例化内部类。

好处:

使用工厂类实例化的时候,外部调用者不需要知道内部类实例化需要传什么参数,直接调用工厂类的特定方法即可。


生成器模式

个人理解:

Interface Builder: 生成器接口,用于定义具有相同类似功能的内部类要实现的方法。比如 数据库驱动类,数据库驱动有 mysql、oracle、mssql 等等,需要一一实现生成器接口。

暴露给外部类调用的就只有一个 导向器(Director),通过传入各个不同的类实例,来调用这些类的生成器方法,将一个 “空类” 包装好,设置好该设置的属性。

好处:

外部调用者直接向导向器传入实例即可得到对应类的 “完整版”。不需要外部调用着手动配置。


。。。。未完待续。。随缘更新。。。 = =