抽象工厂,工厂方法和简单工厂的对比

抽象工厂:生产多个抽象产品,即形成了抽象产品族,则需要抽象多个抽象方法,如果把“一个抽象产品和一个抽象方法”当做一个“工厂方法”理解,则这样就形成了抽象的工厂,工厂中都是抽象的,无业务逻辑。

    每需要一个新的产品族的时候,扩展具体类即可。

            缺点:只能生产产品族,,产品族是固定的,即无法添加新产品。

 工厂方法:目的是生产一个仅且一个抽象产品,生产的细节由其派生类去实现。

      但是在细节上,包含了具体的业务逻辑,即非抽象的方法存在,只有一个“抽象方法”,顾名思义“工厂方法”,一个抽象的“方法”当做“工厂”用。

                每需要创建一个有且只有一个新的对象时候,扩展即可。

        

 简单工厂:没有抽象方法,全静态的方法,即最极端,最简单(太简单了)的产品。

            每需要创建一个新的对象,添加一个静态方法即可。

posted @ 2013-07-21 10:19  crazywings  阅读(138)  评论(0编辑  收藏  举报