设计模式学习之路——factory和abstract factory

factory 模式

作用:定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。

UML图:网上很多。此处略去

个人理解:

factory method模式创建对象不一定会让我们的代码更短,实际上往往更长,我们也使用了更多的类,真正的目的在于这样可以灵活,有弹性的创建不确定的对象,而且代码可以重复性提高了,客户端的应用简化了客户程序的代码会大大减小变的更可读性。

factory模式的使用其实主要是将同一个类型对象创建方式统一化,比如我们有产品A B ,我们new A new B对 A B产品进行使用,在代码中体现是一个截然不同的建立方式。如果我们采用factory方式,那么我们只要factory(A)factory(B) ,当我们扩展一个类似产品的时候,例如C,建立生产方式还是一样的,只是产品代号不一样。

Note:软件需求变幻无穷,计划没有变化快,但是我们还是要寻找出不变的东西,并将它和变化的东西分离开来,这需要非常的智慧和经验。无数的软件工程师前辈,为我们总结了设计模式,如果我们不好好利用,岂不是太傻了!


abstract factory 模式

作用:提供一个创建一系列相关或者相互依赖对象的接口,而无需指定他们的具体的类

UML图:网上很多。此处略去

个人理解:

这种模式支持创建不同的对象,这些对象功能接近且一般都是在一起创建的。抽象工厂被具体化成不同的工厂来创建类似的的不同产品。这种模式将类用于使用的客户端分离以便通过工厂来创建。这样各类产品可以方便的变化而不需要改变使用的结构。

abstractFactory 模式经常和factoryMethod共同组合应对"对象创建"的需求变化。

抽象工厂模式最典型模型就是肯德基和麦当劳,薯条和鸡腿。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值