码迷,mamicode.com
首页 > 其他好文 > 详细

个人感悟之设计模式应用场景

时间:2018-05-22 20:39:10      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:业务   标准化   语句   策略   设计模式   就是   字节   专业   容器   

设计模式不是你想要用它的时候去套他,而是根据业务场景选择。设计模式属于经验的总结,是用来解决复杂问题的,把复杂的问题简单化。

工厂模式 只对结果负责,不要三无产品

例子:生产方式的转变:小作坊->工厂->流水线,从无到有自己玩,到发明一个小作坊,到慢慢专业化的状态,生产细节只掌握在某一部分人手里,后来工厂有拆分为专职工厂,工厂之间协作的模式。同时在Spring中也有例子:BeanFactory。

 

单例模式 保证独一无二

在整个系统运行阶段,为了减少浪费提高资源重复利用的时候,只有一个实例。可以考虑采用单例模式的场景:配置文件、IOC容器、监控程序等只有一个的情况下。Spring中最常用的事注册登记式。工厂也有可能是单例,工厂创建的Bean也有可能是单例。

 

原型模式  孙猴子的毛

核心就是复制。Sring中用到原型模式就是希望配置信息能够被重复使用并且不被干扰。技术手段:(1)实现cloneable接口,重写clone方法。(2)字节码操作。(3)反射机制。Spring中使用的事反射机制。字节码操作效率最高。

 

代理模式  办事找代理

应用场景:中介、黄牛经纪人。代码场景主要是:字节码增强、动态实现非侵入式编程。对于一个事情,代理模式只参与一部分,如果参与所有的事,那就是委托模式。

 

策略模式  为目的什么都可以

应用场景:旅游路线,出行方式的选择。代码场景:算法的选择。使用策略模式可以巧妙的避免了if/switch等语句。

 

模板方法  流程标准化,原料自己加

流程固定,某一个环节有差异。

个人感悟之设计模式应用场景

标签:业务   标准化   语句   策略   设计模式   就是   字节   专业   容器   

原文地址:https://www.cnblogs.com/Jolivan/p/9073691.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!