设计模式学习笔记

本文介绍了设计模式中的核心概念,包括单例模式、简单工厂模式、工厂方法模式等共计13种设计模式。每种模式都提供了简洁明了的定义及其实现方式,帮助读者快速掌握这些模式的基本思想。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 单例模式

限制只产生一个对象。  if (object == null) { object = new Object(); }

2. 简单工厂模式

通过一个工厂类根据条件来创建各种各样的类。

3. 工厂方法模式

对工厂类进行改造分解,工厂类升级为接口,一对一建立工厂类(针对要生产的类),实现工厂接口。

问题来了:简单工厂和工厂方法有什么优劣?

4. 迭代器模式

Iterator,具有遍历性质的模式。

5. 原型模式

创建多个相同内容的对象时需要一个原型版本,针对这个原本克隆出一些副本。调用obj.clone()。

6. 代理模式

代理类和主体类继承同一个类,以表示操作相同。代理类里面实例化主体类,并调用主体类的操作。本质是主体对客体进行操作,但不是直接,而是通过了代理。

7. 策略模式

多个策略(算法不同,目的一样)继承同一个抽象策略,放入一个中介类Context,只要调用中介类就可以判断调用的是哪个策略,从而很好地封装了算法。

8. 模板方法模式

子类继承抽象的父类,有权覆盖父类中可变部分(抽象方法、钩子方法),无权覆盖父类中不可变部分(具体方法)。

9. 观察者模式

通过一个观察者类,维护一个全是目标类的列表,并逐个传递消息给目标类。

10. 抽象工厂模式

原理和其他工厂模式类似,区别在于工厂类确定后不能扩展类,只能在类内增加方法,而产品类则可以无限制扩展并且与已存在的产品类无关。[反射的使用能让工厂模式更加灵活--替换switch或if的]

11. 状态模式

12. 适配器模式

13. 桥梁模式

两个聚合关系的对象,通过在一个对象里面传入另一个对象关联一起。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值