设计模式回顾

一、创建型设计模式
1.单例模式用来创建全局唯一对象,饿汉 懒汉 双重 静态内部类 枚举
单例模式一定程度是反模式anti-pattern
单例对OOP特征支持得不好
单例隐藏了类间依赖关系
扩展性不好
可测试性不好
不支持有参构造
2.工厂模式用来创建不同但是相关的类型的对象(继承同一父类或者接口的一组子类),由给定的参数来决定创建哪种类型的对象。
封装变化:创建逻辑有可能变化,封装成工厂类之后可以复用
代码复用:创建代码抽离抽离到独立的工厂类宾可以复用
隔离复杂性:封装复杂的创建逻辑,调用者无需了解如何创建对象
控制复杂度:将创建代码抽离出来,让原本的函数或类职责更单一,代码更简洁。
3.建造者模式
建造者模式用来创建复杂对象,可以通过不同的可选参数,“定制化”地创建不同的对象。
如果一个类有很多属性,为了避免构造函数的参数列表过长,影响代码的可读性和易用性,若通过set()设置的属性需要验证合法性就无法完成
如果希望创建不可变对象,用set()不合适
4.原型模式
如果对象的创建成本比较大,而同一个类的不同对象之间的不大(大部分字段都相同),在这种情况下可以使用原型模式,利用已有对象进行复制。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值