欢迎光临散文网 会员登陆 & 注册

设计模式笔记

2023-09-04 09:26 作者:努力奔跑的的肥崽俊  | 我要投稿

# 设计模式笔记:
   创建型分三步:选择不同的工厂,工厂可以选择不同的方法,每个方法可以选择不同的入参
   !简单工厂就是一个工厂多个方法(或一个方法,再由入参判断?)
   !工厂方法就是多个工厂一个方法(入参不再用来区分生产哪个商品?)
   !抽象工厂就是多个工厂多个方法(或一个方法,再由入参判断?)
   !单例:设成类成员!
   !!建造者:内部类弄个Builder,最后build()
   !!原型:预先生成若干对象,需要时复制属性(可自定义个性化)得到新对象
   !!享元:每次使用对象都在池里里拿,没有的就创建新的放进池里(类似Java的字符串池)
   结构型:
   !桥接:抽象类A的成员属性中有抽象类B的对象,则A与B可以分别进行扩展
   !代理:A的成员属性中有类B的对象,A与B实现相同接口,外部调用时由调用B对象方法变成调用A对象方法,A对象内部在调用B对象方法前后实现加强
   !适配器:外部调用接口不改,实现类B实现接口不改,适配方法是增加中间类A,A含有B类对象作为成员,且实现了外部接口的方法调用B的接口方法
   !!装饰模式:与代理差不多
   !!责任链模式:消费者抛出一个请求给链表表头,链中对象依次判断是否由自己处理,是则处理,否则传给下一项
   !!门面模式:消费者调用简单的接口访问复杂的内部系统(与模板方法差不多)
   !!组合模式:就是树中每个结点的形式,你返回根结点就相当于返回了一棵树
   行为型:
   !中介者:通讯双方中间加转发者
   !观察者:所有观察者实例注册到客户端列表,客户端有改变时就会调用每个注册了的观察者回调方法
   !!命令模式:就是把命令抽出来作为一个类而不是放在主体类(例如老师类)方法直接实现
   !!状态模式:就是把状态抽出来作为一个类而不是放在主体类(例如天气类)方法直接实现
   !!策略模式:就是把策略抽出来作为一个类而不是放在主体类(例如学习类)方法直接实现
   !!解析器模式:就是把解析器抽象出来作为一个类而不是放在主体类(例如英语类)方法直接实现
   !!备忘录模式:就是把备忘录抽象出来作为一个类而不是放在主体类(例如游戏存档类)方法直接实现
   !!模板方法:就是把模板抽出来作为一个方法而不是直接写在一起,层次清晰方便业务与技术对接(与门面模式差不多)
   !!迭代模式:就是迭代器,可以让所有容器统一遍历的接口


设计模式笔记的评论 (共 条)

分享到微博请遵守国家法律