第五节课 创建性模式(一)

        在我们实例化对象的时候通常使用new方式来产生对象。这种方法很简单很方便,为什么还需要有专门的创建模式来实例化对象呢?

        第一种情况,如果系统中有很多中类,需要实例化的时候,通过工厂方法,将相同或相似的类放到一个工厂或一类工厂中创建。代码清晰。

        第二种情况,如果系统中有一个复杂的类,不能通过一个new方式实现,可以通过建造者模式或原型模式;来创建。

        第三种情况,如果系统中要创建一个类仅有一个实例,可以通过单例模式来创建。

 

 

模式名称

说明

简单工厂模式

通过参数选择创建不通的对象

工厂方法模式

通过选择不通的工厂类创建对象

抽象工厂模式

通过选择不通的工厂类,创建一系列对象。

 

 

 

 

 

 

 

在创建一个系列对象的时候,系列对象并不能很容易都完全一致,有的系列对象可能会缺少一种或几种对象。这种情况就是没有严格遵循抽象工程模式。这需要我们在开发中自己灵活判断掌握。

 

三种不同的开发模式

1、自己开发,自己知道,自己规避错误。

2、多人开发,严格遵循。

3、多人开发,不严格遵循。可以通过NULL判断

是否缺少对象。

 

模式名称

说明

涉及对象的关系

使用设计原则

如何高内聚低耦合

简单工厂模式

一个工厂对象,通过不通方法创建不通对象

完全依赖,工厂方法和生成对象一体,没有分开

 

创建行为和被生成对象完全在一起没有分离

工程方法模式

多个工厂对象,通过一种方法创建多个对象

工厂和对象是单向关联关系

工厂接口使用依赖倒转原则;

被生成对象使用里氏代换原则;

通过工厂访问对象,使用迪米特法则

创建行为抽象成为独立接口。然后通过接口实现。

被生成对象抽象成一个父类,通过继承

抽象工厂模式

多个工厂对象,通过多种方法,创建系列对象

工厂和对象是单向多重数关联关系

同上,知识抽象度更高一些

 同上,只是都变成系列对象

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值