iOS架构探究--工厂模式--简单工厂模式

2017-10-05  本文已影响0人  八命猫

工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式。工厂模式在Java程序系统是随处可见。因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a=new A() 工厂模式也是用来创建实例对象的,虽然这样做,可能多做一些工作,但会给你系统带来更大的可扩展性和尽量少的修改量。

工厂模式分为很多种,在不同场景下,有不同的模式。
工厂模式属于创建型设计模式。

1.为什么使用工厂?
      解除耦合:下面案例一和案例二可以很好的解释工厂模式如何解耦。

案例一:直接实例化对象 案例一:直接创建控件UML

可见button和imageView与客户端是直接依赖的关系,这样耦合度就很高。如果我们在中间加入一个工厂类:

案例二:工厂模式解耦

简单的说:客户端无需知道imageView和button的创建过程,只对工厂类提供信息(参数)即可。(就像我只需要给工厂原料,工厂就能给我想要的产品一样)。下面是简单工厂的代码:

main.m文件 创建工厂类ViewFactory.h文件 创建工厂类ViewFactory.m文件

不过上面的工厂模式有点问题:在项目升级/扩展模块的时候,每次需要switch判断,如果case多的化,就不那么方便了。我们可以优化为动态创建

创建的工厂类.h文件 创建的工厂类.m文件 在main.m文件使用工厂类

iOS中xib和storeborad本质就是使用工厂模式

上一篇下一篇

猜你喜欢

热点阅读