设计模式-实践总结

设计模式-实践总结

模式名实践原则
单例模式比较简单,应用广泛,如Spring待补充
工厂方法模式使用非常频繁,可与模板方法模式、单例模式、原型模式混合使用
抽象工厂模式使用场景很多
模板方法模式一些开源框架应用很多,提供一个抽象类,然后开源框架谢了一堆子类。如果需要扩展功能,可以继承这个抽象类,然后覆写protected方法,然后调用一个类似execute方法,就完成了扩展开发
建造者模式和模板方法模式结合用
代理模式应用非常广泛,大到系统架构、企业平台,小到代码片段、事务处理。如Spring AOP和AspectJ
原型模式一般与工厂方法模式结合用,Java已经与原型模式融合一体,可以直接拿来使用,如clone方法。
中介者模式MVC框架
命令模式比较简单,在项目中使用频繁,关注解耦
责任链模式在项目中使用非常多。将请求与处理分开。
装饰模式是继承的替代方案。继承是静态地给类增加功能,而装饰者模式是动态地增加功能。扩展性非常好
策略模式非常简单,在项目中使用非常多。定义封装算法,和工厂方法模式结合用。
适配器模式补偿模式,在开发设计阶段不需考虑它。
迭代器模式Java开发不需要自己写迭代器模式,使用Java提供的Iterator即可
组合模式树形结构,体现局部与整体的关系的,考虑使用。
观察者模式项目中很常见,也叫发布订阅模式。java.util.Observable类和java.util.Observer接口
门面模式子系统负责,如算法和业务复杂,或者对于一个大项目,为了避免不同水平开发人员带来的风险,可使用
备忘录模式可回滚、事务管理用的就是备忘录模式。在程序中使用该模式,不再使用数据库的临时表作为缓存备份数据,这可以减少数据库操作的压力。
访问者模式使用于大规划重构的项目,需求非常清晰,为达到最终目的功能集中化,如统一的报表运算、UI展现、过滤器和拦截器等A1 C0 E0
状态模式权限设计、工作流开发,与建造模式结合用A1 E1 F1
解释器模式实际的系统开发中用的非常少。存在效率、性能和维护的问题。尽量不要在重要的模块中使用。在一些大中型的框架型项目存在,如一些数据分析工具、报表设计工具、科学计算工具,工具包:Expression4J、MESP、Jep等
享元模式池技术的重要实现方式,Java API中随处可见,String类的intern方法。存在线程安全问题
桥梁模式非常简单的模式,可解决继承有N层的问题

备注:

A:单一职责原则:A1指符合该模式,A0指不符合。

B:里氏替换原则:

C:依赖倒置原则:

D:接口隔离原则:

E:迪米特法则:

F:开闭原则:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丁永辉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值