创建型模式总结

来源:互联网 发布:跑酷教程软件 编辑:程序博客网 时间:2024/05/18 03:41

         自己学习设计模式也有一段时间了,在五天的时候顺利学完了这一部分,这部分大概分为三部分:创建型模式、结构型模式、行为型模式。我觉得小菜把设计模式分为这三个部分是很合理的。

      首先,我对第一部分创建型模式进行一个总结,第二、第三部分的总结后续会跟上。接下来就进入创建型模式家族:

     先说为什么叫它们建造者家族,因为它们都是需要创建出来的东西,也就是需要先声明它们,然后才能用它们。

我把这个家族大概分为了这四个部分,为什么这么分?因为我觉得这四部分创建的东西不一样。工厂模式创建的是一个接口,建造者创建的是抽象类,原型创建的是对象,单例创建的是一个自带唯一实例的类。不过这兄弟有一个大哥那就是工厂模式,古语说的好:“长兄如父。”所以这四兄弟都以工厂大哥为主,工厂大哥建造的是类,其余三兄弟都是依赖工厂大哥存在的,也就是说工厂大哥是它们的靠山,一旦工厂大哥解决不了的问题,他的兄弟才会出现。比如说现在需要满足子类重写父类方法的要求,我们就不能简简单单来创建一个类了,因为满足不了要求,所以兄弟——建造者模式果断出现,建造了一个抽象类来替工厂大哥分忧。如果需求改成了一个对象,而且该对象还能克隆其他对象,这时候二哥都解决不了,只能三弟——原型模式出现,创建了一个满足需求的对象,替俩位哥哥分忧。现在需求又改了,需要一个自带唯一实例的类,此事三位哥哥都做不到,于是老四——单例弟弟出马,创建了这样一个类来满足需求。于是这四个兄弟相互协作,满足了一些关于创建的需求,为面向对象的王朝大军建功立业。

下面说说工厂大哥的俩个儿子:大儿子名字叫简单工厂,二儿子叫抽象工厂。为什么我不认为它们是三姐妹哪?因为简单工厂是创建类。抽象工厂是创建工厂接口,这俩个被创建出来的产品都属于类,所以它们是工厂模式刻出来了,即使有些区别,但是只要你懂了工厂模式,抽象工厂和简单工厂就已经了解了80%,所以我还是认为重点还是在工厂模式。

这部分的总结,我没有太过于具体,我想先理清它们之间的关系,然后再考虑具体的知识点。如果我总结的有不对的方法,希望大家多多指出来。

0 0
原创粉丝点击