我们编写程序时,经常会用到if和else。过多的使用不仅会影响阅读。而且也不方便于后续业务的穿插。大多数优化方案都是采取策略模式,有些直接分派到类的一个方法,有些直接独立出一个类来处理逻辑,以下是本人汇总的一些方案
sql中不走索引的场景
本文完全转载。原文地址: https://www.cnblogs.com/b3051/p/8478500.html 感谢作者。
索引创建完成后,如果查询的姿势不对,会造成事倍工半的效果,以下情况尤其注意!!!
责任链模式
责任链是一种行为模式。将处理请求的多个环节连在一起,形成一条链。
工厂模式
将一组相似产品的创建过程放到一个类里来提供,这个类的设计即为工厂模式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。
代理模式
通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的功能上,增加额外的功能补充,即扩展目标对象的功能。
适配器模式
如果原有接口不太适合扩展新功能的时候,需要提供一个适配类,在这个适配类里实现新功能,原有的接口只需要调用这个适配类就行。
装饰者模式
对已有的业务逻辑进一步的封装,使其增加额外的功能,用户在使用的时候可以任意组装,达到自己想要的效果。如java中的io流。
观察者模式
对象间一对多的关系,当一个对象的状态发生改变时,所以依赖于它的对象都会收到通知并处理相关逻辑。 被观察者需要知道所有的观察者,被观察者发生被动时,要循环它的所有观察者们来处理逻辑。
单例模式
如果一个类比较特殊,实例只能有一个,不能让调用方自行new来创建对象,而是提供一个接口来返回该实例。这种设计理论被称为单例模式。
复杂sql汇总
记录自己平时遇到的复杂sql