设计模式学习笔记
一、结构型设计模式
1、适配器
解决对象适配问题
组合优于继承(继承缺点:侵入性,只能为单一类型服务)
2、代理模式
异常代理;try catch 避免修改原始类
单例代理;
缓存代理;系统优化的第一步就是使用缓存
延迟代理(延迟构造);ef有延迟查询,前端的延迟加载,Lazy<T>,队列,泛型申明。一切可以推迟的东西,都推迟一下
权限代理;
解决对象调用问题
3、装饰器模式
组合+继承
二、行为型设计模式
1、 模板方法设计模式
就是简单的抽象类
2、观察者模式
3、责任链模式
应用场景:流程式处理,一个请求多个环节都参与;多规则处理,一个请求从多个环节中选择一个处理。
三、创建型设计模式
1、单例模式
双判断锁
2、原型模式
能快速的获取对象。
MemberwiseClone();
内存拷贝,不走构造函数,没有性能损失,而且产生的是新的对象