结构模式

结构模式

就像建筑一样,要盖什么类型的房子,从高层、底层、叠拼别墅、独栋各种结构类型到几室几厅结构类型,
软件中结构模式表现的是面向对象的代码层次结构,前我们用MVC结构大多情况都是写的事务性脚本,就像写的是流水账,直接铺在service里面
这块模式灵活使用会使代码结构更加明晰,维护性更好。设计模式看了好多遍灵活应用却是很难,需要平时的积累和思考。

模式

代理模式、桥接模式、组合模式、装饰模式、外观模式、享元模式、适配器模式

代理模式

分静态代理与动态代理
jdk动态代理,cglib动态代理
经典应用场景mybatis接口映射xml的SQL

桥接模式

解开抽象与实现的耦合,一个场景多个维度的组合
支付场景:不同的支付通道与支付模式的组合

组合模式

但凡能用整体与部分层次结构,都能用此模式,进行处理,比如 决策树、AST抽象语法树、菜单、目录
场景:营销决策树、网站菜单目录

装饰模式

 在不改动原有功能的基础上添加代码功能
 场景:输入输出流

外观模式

 隔离系统之间的细节联系,定义个高级别接口进行通信,降低调用方的使用接口的复杂逻辑组合,迪米特法则的体现。
 场景: 1.Collection List Set  2.web中间件减少客户端对后端接口的依赖  3.切面统一处理

享元模式

 减少内存使用,使用内存共享技术,以此提高系统性能,避免对象重复创建,导致内存溢出
 场景:本地缓存、数据库连接池,spring单例缓存

适配器模式

 类适配与接口适配,解决不兼容对象包裹在适配器中让其兼容其他类
 场景:外部实体兼容当前系统
posted @ 2021-10-13 17:04  liuhuayiye  阅读(61)  评论(0编辑  收藏  举报