设计模式 个人理解记录

设计模式总结
单一原则,3.依赖倒置原则 方法尽可能细分,多用接口
里氏替换原则继承不要用覆写 父类的属性,方法在子类依然成立
接口隔离–>接口的拆分太细容易导致接口过多,太少的话会导致接口臃肿,得适量判断,个人感觉在现有业务逻辑下单一功能下的统一动作 尽可能粗狂,粗狂的话能继续拓展 比如:吃水果如果是一个接口,可以就一个方法 eat() 但是更细的可以是 包含获得水果,处理水果,吃水果 再细可以是 买水果/摘水果,洗水果,削皮,用喂的,吃的。 在项目初期的接口尽可能粗狂,便于下面拓展。(因为你永远不知道细分的维度是多少 ) 。
迪米特法则类需要解耦,强依赖不适于拓展。
开闭原则要对扩展开放,对修改关闭。提高拓展性是关键

创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式(StringBuffer.append())、原型模式clone
结构型模式,共七种:
装饰器 适配器 代理的区别 如果没有适配器模式中没有适配类则无法工作(要修改客户原本的需求功能),但是代理模式没有代理类也是可以的(不修改原本的功能输入输出,跟原本不搭嘎的地方去做增强 比如做日志等 客户不关心),装饰器模式(不修改原本的输入输出,但是做一些额外的动作,来强化原本功能)
适配器模式 为接口的实现去找已经存在的实现方法,然后进行匹配调用
装饰者模式重新实现某已经被实现的接口,并在原来的实现基础上加强重新实现者跟原实现者都实现同一个接口,装饰器通过构造方法将原实现者注入并引用原来的方法且加强如上 实际都一样
代理模式、如上 代码都一样
外观模式、
桥接模式、
组合模式、
享元模式
行为型模式,共十一种:
策略模式 :对象设置策略,调用方法用策略A{ private 策略 b; public void resolve(){ b.策略方法; }}
模板方法模式在抽象方法的实现方法中使用抽象方法 子类实现。
观察者模式跟策略模式一样,只是策略变成多个提一嘴这里springboot 事件发布模式, 事件 与 监听是隔离的, 当事件触发时由适配组件按事件寻找监听,我觉得是适配器 + 观察者
迭代子模式、
责任链模式这个简单 那个做完了就跳出
命令模式、
备忘录模式、
状态模式、
访问者模式、方法的重载 + 抽象员工 去食堂(传食堂参数) 调用食堂的打菜方法将自己传过去 打菜(this) 食堂 重载打菜 不同的人打不同的菜
中介者模式、
解释器模式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值