设计模式学习笔记(开篇)-抽象工厂 工厂模式 简单工厂(总结)

设计模式学习笔记(开篇)-抽象工厂 工厂模式 简单工厂(1)  讲述的是简单工厂的实现,即相关优缺点

设计模式学习笔记(开篇)-抽象工厂 工厂模式 简单工厂(2)  讲述的是工厂模式的实现,即相关优缺点

设计模式学习笔记(开篇)-抽象工厂 工厂模式 简单工厂(3)  讲述的是抽象工厂的实现,即相关优缺点

上面三个是连续的,如果要完整了解,建议从第一篇开始。

下面是我自己对抽象工厂模式、工厂模式和简单工厂模式的关系理解。(如果有误,欢迎留言)

 

简单工厂:

1.定义一个创建对象的接口,根据传入的参数,生成对应的实例

2.方便对象的集中管理和维护,同时使用者和具体实例解耦,依赖这个工厂,而不依赖具体实现

3.缺点就是不适合复杂的对象创建。要维护大量的逻辑。同时违反了OCP原则,扩展时,需要修改原有的工厂方法。所以简单工厂方式,适合简单的对象创建

 

工厂模式:

1.工厂方法是创建一个框架,让子类决定如何实现

2. 工厂方法的弹性,扩展简单,符合OCP。不需要修改原有的实现,只需要根据框架新实现一个

3.工厂方法让使用者只需要依赖抽象,而不需要依赖具体的实现

4.缺点是不易于维护,假如某个具体产品类需要进行一定的修改,很可能需要修改对应的工厂类。当同时需要修改多个产品类的时候,对工厂类的修改会变得相当麻烦

 

抽象工厂模式:

1.将客户和与类的实现分离。让客户依赖接口,只通过抽象接口操作实例
2.易于交换产品系列(抽象工厂用于创建一系列相关或者相互依赖的接口)
3.它有利于产品的一致性。当一个系列中的产品对象被设计成一起工作时,一个应用一次只能使用同一个系列的对象。这点很重要
4.缺点是难以扩展新种类的产品,因为产品集合一开始确定在AbstractFactory中,新增产品种类,需重新修改原有的抽象类,这可能涉及到子类的修改。

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值