浅谈abstractfactory抽象工厂模式
一、前言 上次我们学习了Builder模式,用来组装复杂的实例,Builder就是我们盖房子的一块块砖头,钢筋和水泥,以及简单的用法,使用监工将这些元素有机的组合在了一起就能够建造整个建筑了,是监工将这些原材料按照一定的次序和特定的处理流程糅合在一起,这个过程就是组装。而现在我们学习了抽象工厂模式,将关键零件组装成产品。 在此之前,让我们对前面的几种模式做简单的回顾,首先我们学习了 迭代器模式 ,使用了工厂方法创造迭代器,并且完成了元素的内部实现和遍历的分离,因此成为“器”,也算是一种配合,其次我们学习了适配器,有类适配器和对象适配器,这两者只是实现的方式不同,本质是一样的,都是通过在原素材上加入一个适配器使得能够满足现在的需要,一般用在版本之间的兼容上使得新版本的内容能够在旧版本上使用(适配),以及一些复用的时候需要适当的修改(适配)的场合;之后我们学习了 模板模式和工厂模式 ,模板方法的一个特殊实现其实就是工厂方法,模板方法就是通过在父类之中定义职责,然后让子类实现各自的子任务,最后通过父类进行调用,提高了代码的可修改性和可扩展性,工厂方法则是在模板方法的基础上,通过生产产品的方式将框架的实现分离,遵循了高内聚低耦合的原则;在之后我们学习了 单例模式和原型模式 ,单例模式是保证全局关于某个类只有一个对象,在某些多线程或者编码误用的条件下非常重要,原型模式则是实现了对象的深浅拷贝