设计模式☆

总结

☆、工厂方法模式、抽象工厂模式、策略模式、适配器模式都差不多,思路都是创建一个接口后多个类去实现然后做不同的事情。工厂方法模式搞了个工厂类、抽象工厂模式例子中搞了个动态代理,策略模式例子中搞了个策略控制类,都是多余的。
☆、配器模式在实体类转换的例子中用到了反射去动态拼接set方法,抽象工厂模式也是适配器模式的应用(文档上面说工厂方法模式是适配器模式的应用,写错了)。
☆、责任链模式里面有对象嵌套新写法,当嵌套的对象是自己或者自己的子类时适合使用。在itstack-demo-design-13-02 ApiTest里面。
☆、备忘录模式里面有一种思想,想在一个对象里面做拓展但是不想改变原有对象,可以新建一个类,把那个对象作为这个类的属性,用这个类里面做拓展。

创建者模式

原型模式

☆、概述:作用是避免创建重复对象。
☆、应用:java中浅拷贝就能做这样的事情,没什么用。

结构型模式

代理模式*

☆、例子:静态代理、动态代理。参考miaosha动态代理。

适配器模式*

☆、概述:把原来不统一但是做同样事情的接⼝、实体类等,通过封装做到统⼀。
☆、应用:业务开发中做不同接⼝的兼容、接收的do转换为统一的。
☆、实际应用:
1.值转换(实体类适配):不同接口传过来的值的参数命名、类型不一样,把他们转换为统一的。
2.抽象工厂模式也是适配器模式的应用(接口适配)。

装饰器模式

☆、感觉没什么用,只是大概看了一遍。

桥接模式

☆、感觉没什么用,不知道在说什么。

组合模式

☆、太复杂,看不懂。

外观模式

☆、类似于第三方登录。

享元模式

☆、没什么用。

行为模式

策略模式*

3.⽣成唯⼀ID策略(UUID、DB⾃增、DB+Redis、雪花算法、Leaf算法)。

访问者模式*

☆、概述:实现同⼀个事物在不同视⻆下的访问信息不同。
☆、实际应用:
1.家长看学生的信息时,显示名字、班级、排名;校长看学生信息时,显示名字、班级。家长看老师信息时,显示名字、班级、级别;校长看老师信息时,显示名字、班级、升学率。
☆、实现逻辑
1.写一个通用用户类User,里面有一些通用属性,Teacher和Student分别继承并且针对自己做一些额外的拓展。
2.定义一个访问数据的接⼝,Principal和Parent分别实现。

观察者模式

☆、概述:当⼀个⾏为发⽣时传递信息给另外⼀个⽤户接收做出相应的处理,两者之间没有直接的耦合关联。例如:MQ服务,虽然MQ服务是有⼀个通知中⼼并不是每⼀个类服务进⾏通知,但整体上也可以算作是观察者模式的思路设计。再⽐如可能有做过的⼀些类似事件监听总线,让主线服务与其他辅线业务服务分离,为了使系统降低耦合和增强扩展性,也会使⽤观察者模式进⾏处理。
☆、应用:感觉平常写代码根本就不会去写这种模式,直接可以忽略。

命令模式

☆、没什么用

迭代器模式

☆、没什么用

中介者模式

☆、大概思想就是对数据进行封装,然后使用起来更加方便,例子:mybatis。
☆、没什么用。

备忘录模式

☆、没什么用。

状态模式

☆、没什么用。

模板模式

☆、没什么用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值