[Objective-C 设计模式]简单工厂模式

写代码已经写了5年多了,自从开始写代码的时候,就买了本《大话设计模式》在研究,当时对设计模式还不是很明白,经过这么多年的沉淀,感觉对设计模式也有一些心得,但是最近不知道为何,感觉自己写的代码还是不够好,没有达到真正的面相对象开发,所以现在重新温习一下设计模式,看看能不能有一些新的体会,让我的代码能够更健壮,更加易于扩展,能更好的抵抗策划多变的需求。也随便学习一下Objective-C语言(一直想学习这么语言,但是无奈于闲暇时间太少。)

简单工厂模式

        简单工厂模式又称之为静态工厂方法,属于创建型模式。在简单工厂模式中,可以根据传递的参数不同,返回不同类的实例。简单工厂模式定义了一个类,这个类专门用于创建其他类的实例,这些被创建的类都有一个共同的父类。

        简单工厂模式将对象的创建和对象本身业务处理分离了,可以降低系统的耦合度,使得两者修改起来都相对容易些。当以后实现改变时,只需要修改工厂类即可。

优点:

            1、简单工厂模式实现了对责任的分割,提供了专门的工厂类用于创建对象。

            2、客户端无须知道所创建的具体产品类的类名,只需要知道具体产品类所对应的参数即可,对于一些复杂的类名,通过简单工厂模式可以减少使用者的记忆量。

            3、通过引入配置文件,可以在不修改任何客户端代码的情况下更换和增加新的具体产品类,在一定程度上提高了系统的灵活性。

缺点:

            1、使用简单工厂模式将会增加系统中类的个数,在一定程序上增加了系统的复杂度和理解难度。

            2、系统扩展困难,一旦添加新产品就不得不修改工厂逻辑,在产品类型较多时,有可能造成工厂逻辑过于复杂,不利于系统的扩展和维护。

项目地址:https://github.com/GameRisker/Study-Design-Patterns.git

参考:http://www.cnblogs.com/chenssy/(Java 版本)

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.