创建型概述
<h3>总要的思想</h3>
<ul>
<li>就是封装,利用封装,把直接获得一个对象改为通过一个接口获得一个对象。</li>
</ul>
<h3>优点</h3>
<ul>
<li>在于如何把复杂的创建过程封装到接口里去,降低系统的内销,使用时直接调用这个接口。</li>
</ul>
<h3>使用目的</h3>
<ul>
<li>为了创建一个对象</li>
</ul>
<h3>工厂模式</h3>
<ul>
<li>通过传参实例化不同的类。</li>
<li>如果直接new,在代码中少不了要写if condition new 一个加法类,else new一个减法类。</li>
<li>封装之后,通过接口传参,还能利用多态特性去替代if else语句。</li>
</ul>
<h3>设计模式遵循</h3>
<ul>
<li>单一原则,让类的功能单一。</li>
<li>如果需要一个新功能,只需添加一个类,不用修改其他类的功能。这样使得代码的扩展性更好。</li>
</ul>
<h3>建造者模式</h3>
<ul>
<li>把初始化的工作和顺序,封装给了一个建造者和指挥者。</li>
<li>如果,我们下次要建造的类属性,或是顺序不同。
<ul>
<li>只需新建对应的建造者类或添加对应的指挥者方法,不必再去修改原代码。也省去new对象后,还要写$attribut=array();这种一大串数组,然后调好几个方法去初始化的工作。</li>
</ul></li>
</ul>
<h3>原型模式</h3>
<ul>
<li>
<p>通过先创建一个原型对象,然后直接克隆,省去了new大对象带来的开销浪费。</p>
</li>
<li>同样可以通过封装clone这个动作。使得在clone的同时,还可以做一些其他的准备工作。</li>
</ul>